0.0.1
This commit is contained in:
34
providers/base.py
Normal file
34
providers/base.py
Normal file
@@ -0,0 +1,34 @@
|
||||
import re
|
||||
|
||||
class EmbedProvider:
|
||||
name = "base"
|
||||
pattern = None
|
||||
|
||||
def __init__(self, config=None):
|
||||
self.config = config or {}
|
||||
|
||||
def match(self, content):
|
||||
if not self.pattern:
|
||||
return content
|
||||
return re.sub(self.pattern, self.replace, content)
|
||||
|
||||
def replace(self, match):
|
||||
raise NotImplementedError("Provider replace() missing!")
|
||||
|
||||
def wrap_template(self, provider, embed_html):
|
||||
return f'''
|
||||
<div class="embed-consent" data-provider="{provider}">
|
||||
<div class="embed-overlay">
|
||||
<div class="embed-box">
|
||||
<h3>External Content</h3>
|
||||
<p>This content is provided by <strong>{provider}</strong> and may set cookies.</p>
|
||||
<button class="embed-accept" onclick="acceptProvider('{provider}')">
|
||||
Load Content
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<template class="embed-template">
|
||||
{embed_html}
|
||||
</template>
|
||||
</div>
|
||||
'''
|
||||
Reference in New Issue
Block a user