jnfilter @ de76419cf301a986831dca0d802c73fd07223dbd

fix: Mexe com o metadata

Messes with metadata to try make some clients detect my feed as a
diferente one.
diff --git a/README.md b/README.md
index 65d37ebae0b20bd4618d2c2966dc611ee7b5a4f6..71a700f3f7bd664861b2e9e9917cf3d1d6ddfc48 100644
--- a/README.md
+++ b/README.md
@@ -16,11 +16,11 @@ - `genera`
 
 ## Para usuarios
 
-Por padrão ele só pega a série principal lançada toda sexta. Para usar basta 
+Por padrão ele só pega a série principal lançada toda sexta. Para usar basta
 adicionar a seguinte URL no seu agregador:
 
 ```
-https://jnfilter.herokuapp.com/
+https://jnfilter.gabrielgio.me/
 ```
 
 Mas caso você queira, você pode escolher mais alguns seguimentos. Por exemplo,
@@ -28,20 +28,36 @@ se voce quer ver somente a série principal e canecas de mamicas você
 adicionaria o seguinte URL no seu agregador:
 
 ```
-https://jnfilter.herokuapp.com/?q=mamicas,nerdcast
+https://jnfilter.gabrielgio.me/?q=mamicas,nerdcast
 ```
 
-Quer nerdcast e nerdcash? 
+Quer nerdcast e nerdcash?
 
 ```
-https://jnfilter.herokuapp.com/?q=nerdcash,nerdcast
+https://jnfilter.gabrielgio.me/?q=nerdcash,nerdcast
 ```
 
 E por aí vai, seguindo os seguimentos listados acima.
 
+## Pocketcast
+
+Adicionei recentemente uma parte no código pare mexer na metadata do feed
+(mudar titulo, nome, descrição, etc) para fazer com que o Pocketcast reconheça
+o feed gerado como se fosse outro feed. Eles usam a metadata para decidir se um
+feed e novo, então como eu não mexia na metadata ele gerava um link para o feed
+original do jovem nerd.
+
+Entao os usuarios do Pocketcast tem que ir ao https://pocketcasts.com/submit/
+para submeterem a sua URL. Observação, esse processo de submit deles e meio
+cagado, então se ele não oferecer o feed certo tente trocar as ordens dos
+parâmetro, se tiver `nerdcast,mamicas` troque para `mamicas,nercast`
+
+o ideal e que cliente de podcast nao obrigue a fazer isso mas fazer o que as outras
+opções fazem pior.
+
 ## Para programadores
 
-E um projeto simples feito em cima do FastApi. Ele vai pegar o _feed_ e 
+E um projeto simples feito em cima do FastApi. Ele vai pegar o _feed_ e
 filtrar os itens do _feed_ do podcast. Não tem cache nem nada sendo armazenado,
 todo processamento e feito a partir do feed para cada requisição.
 
diff --git a/jnfilter/main.py b/jnfilter/main.py
index 9795b8cd1f470689f01eafc7e8f1af3092295c9c..193975fb757caa8556d9e68f6a8e0c759b3af8bc 100644
--- a/jnfilter/main.py
+++ b/jnfilter/main.py
@@ -24,9 +24,13 @@     "tech": "NerdTech [0-9]+ -",
     "genera": "Generacast [0-9]+ -",
 }
 
-register_namespace("googleplay", "http://www.google.com/schemas/play-podcasts/1.0")
-register_namespace("itunes", "http://www.itunes.com/dtds/podcast-1.0.dtd")
-register_namespace("atom", "http://www.w3.org/2005/Atom")
+ATOM =  "http://www.w3.org/2005/Atom"
+ITUNES =  "http://www.itunes.com/dtds/podcast-1.0.dtd"
+GOOGLEPLAY = "http://www.google.com/schemas/play-podcasts/1.0"
+
+register_namespace("googleplay", GOOGLEPLAY)
+register_namespace("itunes", ITUNES)
+register_namespace("atom", ATOM)
 
 
 class XMLResponse(Response):
@@ -44,6 +48,18 @@ def filter_xml(xml_str: str, series: List[str]) -> str:
     tree = ElementTree(fromstring(xml_str))
     tree_root = tree.getroot()
     for channel in tree_root.findall("./channel"):
+        tag = f' [{",".join(series)}]'.upper()
+
+        channel.find("title").text += tag
+        channel.find("description").text += tag
+        channel.find("link").text += f"?{tag}"
+        channel.find(f"{{{ITUNES}}}author").text += tag
+        channel.find(f"{{{GOOGLEPLAY}}}author").text += tag
+        channel.find(f"{{{ITUNES}}}subtitle").text += tag
+        channel.find(f"{{{ITUNES}}}summary").text += tag
+
+        print({elem.tag for elem in channel.iter()})
+
         for item in channel.findall("item"):
             title = item.find("title").text
             if not match(title, series):
diff --git a/setup.py b/setup.py
index 96868e598f0a49eedf64aa4fa9bf060539da141f..8f95a75c9c6878bc492bd789794aa4ffa918dd1f 100644
--- a/setup.py
+++ b/setup.py
@@ -8,7 +8,7 @@ ]
 
 
 setup(name='jnfilter',
-    version='0.2.0',
+    version='0.2.1',
     description='A FastAPI server to filter Nercast podcast feed',
     url='https://git.sr.ht/~gabrielgio/jnfilter',
     author='Gabriel Arakaki Giovanini',