diff --git a/decoratori.md b/decoratori.md
index a91702b..d09e2ff 100644
--- a/decoratori.md
+++ b/decoratori.md
@@ -32,7 +32,7 @@ film = [
('Generi', ['', 'menu', 'Film per Genere']),
('Anni', ['', 'menu', 'Film per Anno'])
]
- tvshow = ['/serietv/',
+tvshow = ['/serietv/',
('Per Lettera', ['/serietv/', 'menu', 'Serie-Tv per Lettera']),
('Per Genere', ['/serietv/', 'menu', 'Serie-Tv per Genere']),
('Per anno', ['/serietv/', 'menu', 'Serie-Tv per Anno'])
@@ -50,7 +50,8 @@ top = [('Novità',['', 'peliculas', 'new', 'tvshow']),
* search
>search è utilizzato quando nel sito c'è un solo campo di ricerca per tutti i tipi di fonti (ricerca unica per film e serie ad esempio), in sua assenza viene automaticamente creata una voce "cerca" per ogni menu di primo livello, es: Cerca Film...
-Il decoratore si occupera poi di includere le impostazioni per l'autoplay e la configurazione del canale
+Il decoratore si occupera poi di includere la configurazione del canale.
+Gli item risultanti avranno già il contentType settato (film/tvshow) se appartenenti ai relativi sottomenu
Esempio comprensivo di tutti i campi:
```python
@@ -76,21 +77,26 @@ def mainlist(item):
```
## scrape
-Decoratore per fare lo scraping vero e proprio, è un interfaccia alle funzioni di alfa/pelisalacarta che permette di fare uso quasi soltanto delle regex.
-Utilizza le seguenti variabili:
+Decoratore per fare lo scraping vero e proprio, è un interfaccia alle funzioni di alfa/pelisalacarta che permette di fare uso quasi soltanto delle regex.
+Per rendere le pagine un po' più standard, prima di effettuare lo scraping, effettua alcune operazioni sulla pagina:
+- sostiuisce i ritorni a capo con uno spazio
+- uniforma le virgolette (tutte le ' diventano ")
+- elimina gli spazi multipli tra i tag html
+
+Per funzionare è necessario settare alcune variabili, ecco la lista completa:
* patron
> Si tratta della regex vera e propria, quella che deve ottenere i titoli, l'url e tutte le informazioni di un film/serie.
> Deve essere costituita solo da [named capturing groups](https://www.regular-expressions.info/named.html), i quali possono essere:
->['url', 'title', 'title2', 'episode', 'thumb', 'quality', 'year', 'plot', 'duration', 'genere', 'rating', 'type', 'lang']
->Questi possibili nomi sono abbastanza auto-esplicativi, inoltre scrape effettua già di per se operazioni "di bonifica", come ad esempio inserire il dominio quando manca nell'url scrapato(url relativo) o anche convertire duration in secondi (per essere meglio interpretato da kodi)
+> ['url', 'title', 'title2', 'season', 'episode', 'thumb', 'quality', 'year', 'plot', 'duration', 'genere', 'rating', 'type', 'lang', 'other', 'size', 'seed']
+> Questi possibili nomi sono abbastanza auto-esplicativi, inoltre scrape effettua già di per se operazioni "di bonifica", come ad esempio inserire il dominio quando manca nell'url scrapato(url relativo) o anche convertire duration in secondi (per essere meglio interpretato da kodi)
```python
patron = r'div class="card-image">.*?
(?P
[^<[(]+)<\/a>.*?(?P[^<>0-9(]+)\((?P[0-9]{4}).*?(?:p|div)>(?P.*?)Nel caso la parte contenente i contenuti fosse indistinguibile da altri contenuti (ed è quindi necessario fare scraping solo di un pezzo di html), è possibile scrivere una regex per ottenere parte di codice, che poi sarà processata da 'patron'.
>E' possibile inoltre che questa regex ritorni più pezzi di codice (ad esempio se è una lista di episodi divisa per stagione).
->patronBlock può contenere i seguenti [named capturing groups](https://www.regular-expressions.info/named.html): block, lang, quality
->in block ci va il blocco (pezzo) di codice da processare poi con 'patron', lang e quality invece vanno a sovrascrivere le omonime proprietà in patron, questo è utilissimo quando le info riguardo alla lingua (ITA/SUB-ITA) e la qualità sono presenti una sola volta (riprendendo l'esempio di prima, se la lingua viene indicata stagione per stagione)
+>patronBlock può contenere i seguenti [named capturing groups](https://www.regular-expressions.info/named.html): block, season, lang, quality
+>in block ci va il blocco (pezzo) di codice da processare poi con 'patron', season, lang e quality invece vanno a sovrascrivere le omonime proprietà in patron, questo è utilissimo quando le info riguardo alla stagione, alla lingua (ITA/SUB-ITA) o alla qualità sono presenti una sola volta (riprendendo l'esempio di prima, se la lingua viene indicata stagione per stagione)
```python
patronBlock = r'(?P\s*STAGIONE [0-9]+ - (?P[^\s]+)(?: - (?P[^-<]+))?.*?[^<>]*?
.*?)\[riduci\]
'
```
@@ -99,6 +105,11 @@ patronBlock = r'(?P\s*STAGIO
```python
patronNext='
'
```
+
+* patronMenu
+> Uguale a patron ma per i menu, in pratica disabilita la ricerca del contenuto su tmdb
+> Da utilizzare quando si creano dei sottomenu dinamici, come ad esempio "Genere" o "Per lettera" ecc..
+
* action
>La funzione che deve partire quando si apre un risultato ottenuto da scrape, se omessa è di default findvideos (la funzione standard per ottenere le fonti)
* blacklist
@@ -175,6 +186,12 @@ pagination = '' # basta che la variabile sia settata e prende il default, ovver
MatchesDict([('title', 'Il Caso Collini'), ('year', 2019), ('language', ), ('source', 'Blu-ray'), ('other', 'Rip'), ('video_codec', 'Xvid'), ('release_group', 'PRiME[MT]'), ('type', 'movie')])
```
+* deflang
+> La lingua predefinita dei contenuti presenti, utile ad esempio per i siti che mostrano praticamente solo SUB-ITA e pertanto non lo indicano, dando la cosa per scontata
+```python
+deflang = 'Sub-ITA'
+```
+
Inoltre è possibile creare degli [hook](https://www.pierov.org/2011/06/10/cosa-sono-gli-hook/) creando funzioni con i seguenti nomi:
* itemHook(item)
>Chiamata ogni qualvolta un item sta per essere aggiunto, prende come parametro item e deve ritornare l'item con tutte le modifiche che ritieni neccessarie.
diff --git a/funzioni-utili.md b/funzioni-utili.md
index 7473fe5..d9c22f3 100644
--- a/funzioni-utili.md
+++ b/funzioni-utili.md
@@ -1,6 +1,25 @@
# Lista funzioni utili
+* [server](#server)
* [hdpass_get_servers](#hdpass_get_servers)
+* [typo](#typo)
+## server
+Da utilizzare per creare listati di server "standard"
+
+| Parametro | Descrizione |
+|---|---|
+| item | l'item chiamante |
+| data='' | stringa in cui cercare i server |
+| itemlist=[] | lista dei server trovati, se il parametro server non è compilato, verrà riconosciuto dall'url |
+| headers='' | se verrà scaricata la pagina, puoi passare degli header custom |
+| AutoPlay=True | autoplay abilitato |
+| CheckLinks=True | checklink abilitato |
+| Download=True | download abilitato |
+| patronTag=None | se la pagina mostra un tag qualitativo (MB.BDRIP ad esempio), inserire una regex che lo cattura. Verrà mostrato a video con una descrizione. |
+| Videolibrary=True | videoteca abilitata |
+
+E' possibile utilizzare sia data che itemlist, i risultati di entrambi verranno uniti. In loro assenza, verrà scaricata la pagina e verranno cercati tutti i server.
+In caso di link corti, i provider supportati verranno rilevati e verrà tentato un unshorten automatico alla ricerca di possibili server.
## hdpass_get_servers
Scraper per hdpass.online, per intenderci: