Hilfe & Wissen Welche Automation Funktionen gibt es?
Welche Automation Funktionen gibt es?
logging.info / logging.error
Beispiel
logging.info("landingpagename") # 2024-02-02 15:01:46 +0100: landingpagename
Definition und Benutzung
Loggt mi dem Mode etwas während der Automation aus. Bei dem Typ event
der Automation muss noch zusätzlich mit dem Befehl envVariables['should_log'] = True
das logging angeschaltet werden, das es Standardmässig aus ist, und nur Angeschaltet wird, wenn bestimmte Funktionen aufgerufen und ausgeführt werden, um nicht zuviel unnützes Logging zu haben.
Syntax
logging.info(object_)
ident
Beispiel
ident("landingpagename") # "landingpagename"
Definition und Benutzung
Gibt einfach das Object zurück. Das kann manchmal benutzt werden, um danach auf die .Funktionen
get, replace, strip und split zuzugreifen.
Syntax
ident(object_)
to_str
Beispiel
to_str(15) # "15"
Definition und Benutzung
Wandelt ein Object in ein String um. Sollte die Umwandlung nicht klappen kommt ein Leerer String zurück
Syntax
to_str(object_)
to_int
Beispiel
to_int("15") # 15
to_int(3.141) # 3
to_int(3.0) # 3
Definition und Benutzung
Wandelt ein Object in Integer um. Sollte die Umwandlung nicht klappen kommt 0 zurück.
Syntax
to_int(object_)
to_float
Beispiel
to_float("3.141") # 3.141
to_float(3) # 3.0
Definition und Benutzung
Wandelt ein Object in Float um. Sollte die Umwandlung nicht klappen kommt 0 zurück.
Syntax
to_float(object_)
json_loads
Beispiel
json_loads('{"Hallo": "Hallo"}') # {'Hallo':'Hallo'}
Definition und Benutzung
Ladt ein JSON Object von einem String
Syntax
json_loads(json_string)
json_dumps
Beispiel
json_dumps({'Hallo':'Hallo'}) # '{"Hallo": "Hallo"}'
Definition und Benutzung
Wandelt ein Object ein ein JSON String um
Syntax
json_dumps(object_)
base64_encode
Beispiel
base64_encode("string") # "c3RyaW5n"
Definition und Benutzung
Encodiert einen String nach base64
Syntax
base64_encode(string)
base64_decode
Beispiel
base64_decode("c3RyaW5n") # "string"
Definition und Benutzung
Dekodicert einen base64 String
Syntax
base64_decode(base64_string)
urlencode
Beispiel
urlencode({"test":"test", "hallo": "hallo 1"}) # test=test&hallo=hallo+1
Definition und Benutzung
URL encodiert den paramString
Syntax
urlencode(dict_)
parse_url_query_string
Beispiel
parse_url_query_string("https://kajomi.de?test=test&hallo=hallo+1") # {'test': ['test'], 'hallo': ['hallo 1']}
Definition und Benutzung
Parsed den Query String einer Domain
Syntax
parse_url_query_string(string_)
determine_random_guid
Beispiel
determine_random_guid(5) # "eOuYh"
Definition und Benutzung
Gibt eine zufälligen erzeugten String zurück
Syntax
determine_random_guid(length=10)
uuid4
Beispiel
uuid4() # "342d8b45-1fdd-4416-90bc-9312eb8e2af8"
Definition und Benutzung
Gibt eine zufälligen erzeugten uuid4 String zurück
Syntax
uuid4()
copy_simple_object
Beispiel
test = {'Hallo': 'Hallo'}
copy_simple_object(test) # {'Hallo': 'Hallo'}
Definition und Benutzung
Kopiert ein Object mit python copy.deepcopy
Syntax
copy_simple_object(object_)
datetime
Beispiel
datetime.datetime.now() # datetime.datetime(2024, 2, 3, 16, 4, 22, 979463)
Definition und Benutzung
Grift auf die python datetime Library zu. https://docs.python.org/3/library/datetime.html
Syntax
datetime.*
csv_reader
Beispiel
reader = csv_reader(b"test;test\nhallo;hallo") # <_csv.reader object at 0x7ff44b20ce48>
for row in reader:
row # ['test', 'test'] / ['hallo', 'hallo']
Definition und Benutzung
Liest ein Bytes String in ein csv reader object ein
Syntax
csv_reader(byte_string)
csv_writerows
Beispiel
csv_writerows([['test', 'test'], ['hallo', 'hallo']]) # b'test;test\r\nhallo;hallo\r\n'
Definition und Benutzung
Wandelt eine liste einer liste in ein byte string um
Syntax
csv_writerows(list_of_list)
is_email_disposable
Beispiel
is_email_disposable('test@dispemail.com') # True
Definition und Benutzung
Ist das eine Wegwerf E-Mail. Wenn Sie einige finden die nicht auf der Liste stehen bitte support@kajomi.de anschreiben, damit wir unsere Liste updaten können.
Syntax
is_email_disposable(email_as_string)
is_email_multi_able_used
Beispiel
is_email_multi_able_used('test+already@gmail.com', 1) # True
Definition und Benutzung
Schaut ob diese E-Mail schonmal in unserem Beispiel mit test@gmail.com im Verteiler vorkommt. Wenn ja kommt True zurück.
Syntax
is_email_multi_able_used(email_as_string, listnum)
call_url
Beispiel
call_url('https://presise.api.de', method="GET", headers={'Authorization': 'meinToken'}) # response Object wo auf response.body und response.code zugegriffen werden kann
call_url('https://presise.api.de', params={"hallo": "hallo"}) # https://presise.api.de?hallo=hallo
Definition und Benutzung
Ruft die url
mit der method
und den header
auf. Wenn user
und listnum
gesetzt ist, dann können in den parametern auf die Templatesprache zugegriffen werden Bsp. %email% des Users. Wenn to_string=True gesetzt wird, wird immer daraus bei ein Query String gemacht, anderen Falls werdn die Parameter in JSON umgewandelt.
Syntax
call_url(url, method='GET', params=None, user=None, listnum=None, headers={}, to_string=True)
parse_mail
Beispiel
parsed_mail = parse_mail(mail) # {"from": {"email": "test@test.de", "firstname": "Absender", "lastname": ""}, "to": [{"email": "t@t.de", "firstname": "Nikolai", "lastname": "Kordulla"}], "subject": "Bin ein Subject", "content": "Hallo", "htcontent": ""}
Definition und Benutzung
Parsed eine E-Mail (Quelltext) in Ihre Bestandteile und gibt sie als Object zurück
Syntax
parse_mail(email_as_source_string)
verify_email
Beispiel
verify_email(mail) # schmeisst eine Exception
Definition und Benutzung
Verifiziert ob diese E-Mail wirklich von diesem Absender kommt. Wirft eine Exception wenn es nicht der Fall ist.
Syntax
verify_email(email_as_source_string)
check_signature
Beispiel
user = check_signature(request)
Definition und Benutzung
Verifiziert den kajomi Signatur String auf einem request, und gibt den user zurück. Wenn man Bsp. ein webhook als replacement für das kajomi Anmeldeformular verwenden will, sollte man immer die Signatur auch überprüfen.
Syntax
check_signature(request)
determine_link
Beispiel
if event.get('category') == 'KJMTrack' and event.get('action') == 'click':
link = determine_link(event.get('label')) # {'id': 1, 'type': 'html' , 'url': 'https://www.kajomi.de'}
Definition und Benutzung
Extrahert Bsp. aus einem event den dazugehörigen link.
Syntax
determine_link(link_id)
add_email_to_blacklist
Beispiel
how_many = add_email_to_blacklist('max@mustermann.de', 0) # 2 - in dem Fall wurden 2 E-Mails aus den Verteilern gelöscht. Da listnum=0 übergeben wurde kommt die E-Mail auf die globale Blackliste
Definition und Benutzung
Fügt die E-Mail der Blacklist hinzu. Schmeisst eine Exception wenn es keine Valide E-Mail ist.
Syntax
add_email_to_blacklist(email, listnum)
set_marker_for_mailing_id
Beispiel
users = set_marker_for_mailing_id('test', 2) # 10 - In dem Fall haben 10 user den Marker test gesetzt bekommen.
Definition und Benutzung
Fügt einen Marker für alle Users eines Mailings hinzu. Die Zeichenanzahl des Markser darf nicht länger als 10 Zeichen sein, sollte das der Fall sein wird eine Exception geworfen.
Syntax
set_marker_for_mailing_id(marker, mailing_id)
send_mailing
Beispiel
mailing_id = send_mailing(listnum=1, template_id=10) # 1 - sendet einen Newsletter mit der template_id=10 an den Verteiler 1
send_mailing('VIRT', 1, virt_template={'content': 'Test', 'subject': 'Test' }) # 1 - Hier wird das "Virtuelle Template" an die Liste 1 geschickt
preparedqueue = [{"target": "selection","type": "AND","selection": "sex == 1","description":"Shoud mark nothing"},
]
send_mailing(listnum=1, preparedqueue=preparedqueue, template_id=%10) # 1 - Hier wird das Template mit der id 10 an den Verteiler 1 aber nur an alle männlichen Mitglieder der Liste geschickt
Definition und Benutzung
Erstellt einen Newsletter und versendet ihn sofort. Wenn die template="VIRT" ist wird das template das virttemplate genommen, andernfalls wird das template mit der templateid geladen. Als Rückgabewert gibt es die mailing_id des Newsletters
Syntax
send_mailing(template_id, listnum, preparedqueue=[], linktracking=True, senderemail=None, virt_template={})
select_mailing
Beispiel
mailing = select_mailings('description == "kajomi"') # {'id': 31699, 'sendername': 'sende', 'senderemail': 'hallo@hallo.de', 'description': 'kajomi', 'subject': 'sub', 'content': 'Asd', 'htcontent': '', 'date': '2024-02-03', 'time': '17:40:34', 'list': 2, 'loadrule': '1==1', 'preparedqueue': [], 'mailType': 'prepared', 'amount': 0, 'action': 'mailing', 'datesent': '2024-02-03T16:40:34Z', 'order': 'desc', 'selectlimit': 1, 'overview': {'selections': [], 'blacklists': [], 'whitelists': [], 'mailings': [], 'followups': [], 'blackselections': [], 'hasTracking': False, 'cnf': 1, 'readonline': True, 'attachments': []}, 'status': 2, 'size': 1, 'linktracking': False, 'ignoreLinks': {'content': [], 'htcontent': []}, 'splitrun': None}
Definition und Benutzung
Selektiert Mailings und gibt eines zurück. Sollten mehrer zurückkommen gibt es eins zurück
Syntax
select_mailing(selectSql)
select_mailings
Beispiel
mailing = select_mailings('description == "kajomi"') # [{'id': 31699, 'sendername': 'sende', 'senderemail': 'hallo@hallo.de', 'description': 'kajomi', 'subject': 'sub', 'content': 'Asd', 'htcontent': '', 'date': '2024-02-03', 'time': '17:40:34', 'list': 2, 'loadrule': '1==1', 'preparedqueue': [], 'mailType': 'prepared', 'amount': 0, 'action': 'mailing', 'datesent': '2024-02-03T16:40:34Z', 'order': 'desc', 'selectlimit': 1, 'overview': {'selections': [], 'blacklists': [], 'whitelists': [], 'mailings': [], 'followups': [], 'blackselections': [], 'hasTracking': False, 'cnf': 1, 'readonline': True, 'attachments': []}, 'status': 2, 'size': 1, 'linktracking': False, 'ignoreLinks': {'content': [], 'htcontent': []}, 'splitrun': None}]
Definition und Benutzung
Selektiert ein Mailing und gibt sie zurück.
Syntax
select_mailings(selectSql)
delete_mailings_by_selection
Beispiel
delete_mailings_by_selection('description == "kajomi" && status <= 0') # 1 - hier wurde damit 1 Mailing gelöscht.
Definition und Benutzung
Selektiert mailings und löscht diese. Der Status sollte immer mit =0 abgefragt werden. Als Rückgabewert wird die Anzahl der Mailings angegeben. Ist das Mailing ein Splitrun Master kann es auch nicht gelöscht werden.
Syntax
delete_mailings_by_selection(selection)
determine_template_of_mailing
Beispiel
mailing = select_mailings('description == "kajomi"')
template = determine_template_of_mailing(mailing) # {'_copy': True, 'linktracking': True, 'htcontent': '', 'subject': 'Betreff', 'sendername': 'test@test.de', 'content': 'Hallo', 'attachments': [], 'ignoreLinks': {'content': [], 'htcontent': []}}
send_transaction_mailing(template_id='VIRT', user=user, description="Last newsletter", virt_template=template)
Definition und Benutzung
Gibt das Template eines Mailing Objects zurück, und kann dann wiederrum als Mailing versendet werden. Erst wird das Template des Mailings kopiert und dann das Linktracking rückgängig gemacht.
Syntax
determine_template_of_mailing(mailing)
send_transaction_mailing
Beispiel
send_transaction_mailing(template_id=10, user=user, description="DOI email")
Definition und Benutzung
Sendet eine Transaktionsmail mit dem templateid an den User. Sollte templateid=VIRT sein wird dann das virttemplate benutzt. Der eventuser wird in addfields['eventuser'] gekapselt. Die addfields können im Template mit folgendem Code zugegriffen werden: [[ kjm.ident(%addfields%).get("eventuser").get("firstname") ]] . Wenn addfields benutzt werden sollen, muss className gesetzt werden. Das ist die Klasse nach der die Transactions Mails zusammengezählt werden.
Syntax
send_transaction_mailing(template_id, user, linktracking=True, description="", virt_template={}, className=None, event_user=None, add_fields={}, attachments=[])
determine_bonuscode_size
Beispiel
determine_bonuscode_size('gutschein2022') # 10 - 10 Gutscheincodes sind vom type gutschein2022 noch nicht verbraucht.
Definition und Benutzung
Gibt die Anzahl der unverbrauchten gutscheincodes eines typs zurück.
Syntax
determine_bonuscode_size(bonuscode_type)
select_user
Beispiel
select_user(['email', 'sex'], 'cnf = 1') # {'email': 'max@mustermann.de', 'sex': 1}
Definition und Benutzung
Gibt einen Empfänger zurück. Sollten mehrere benutzer exisiteren gibt er den ersten zurück.
Syntax
select_user(fields, selection)
select_users
Beispiel
select_users(['email', 'sex'], 'cnf = 1') # [{'email': 'max@mustermann.de', 'sex': 1}, {'email': 'lea@mustermann.de', 'sex': 2}]
Definition und Benutzung
Gibt mehrere Empfänger zurück.
Syntax
select_user(fields, selection, limit=100)
add_user
added = add_user(2, user, response) # {'listnum': 2, 'sex': 0, 'firstname': '', 'lastname': '', 'email': 'max@mustermann.de', 'street': '', 'street_number': '', 'postcode': '', 'city': '', 'birthdate': None, 'country': '', 'area_code': '', 'phone_number': '0', 'cellphone_area_code': '', 'cellphone_number': '0', 'user1': '', 'user2': '', 'user3': '', 'user4': '', 'user5': '', 'user6': '', 'user7': '', 'user8': '', 'user9': '', 'user10': '', 'userx': '', 'cnf': '0', 'dateadd': '2024-02-03T17:16:52Z', 'ipaddr': '', 'refurl': '', 'htmail': '1', 'bounces': 0, 'modified': '2024-02-03T17:16:52Z', 'list': 2, 'id': 20434249, 'deleted': False}
Definition und Benutzung
Fügt einen Empfänger dem Verteiler listnum hinzu. Ist ein response object gegeben, dann fügt er die richtige Response für das Signup Formular hinzu. Als Rückgabewert wird der User zurückgegeben.
Syntax
add_user(listnum, userfields, response=None)
add_or_update_user
added = add_or_update_user(user) # {'listnum': 2, 'sex': 0, 'firstname': '', 'lastname': '', 'email': 'max@mustermann.de', 'street': '', 'street_number': '', 'postcode': '', 'city': '', 'birthdate': None, 'country': '', 'area_code': '', 'phone_number': '0', 'cellphone_area_code': '', 'cellphone_number': '0', 'user1': '', 'user2': '', 'user3': '', 'user4': '', 'user5': '', 'user6': '', 'user7': '', 'user8': '', 'user9': '', 'user10': '', 'userx': '', 'cnf': '0', 'dateadd': '2024-02-03T17:16:52Z', 'ipaddr': '', 'refurl': '', 'htmail': '1', 'bounces': 0, 'modified': '2024-02-03T17:16:52Z', 'list': 2, 'id': 20434249, 'deleted': False}
Definition und Benutzung
Fügt einen Empfänger dem Verteiler hinzu oder update ihn wenn er existiert. Wenn im user das Feld unique_field existiert wird nach diesem abgeglichen. Ist keines gesetzt wird standardmässig die E-Mail genommen. beachten sie das der Verteiler mit dem Key list
existieren muss. Als Rückgabewert kommt der vollw User zurück.
Syntax
add_or_update_user(user)
update_user
rowcount = update_user('SET user1 = "hallo"', "listnum in (1,3) && email == '%s' && cnf == 1" % "reward@reward.de") # 2
Definition und Benutzung
Updated auch mehrere User mit einer SET Selektion und einer QUERY Selektion.
Syntax
update_user(update, selection)
update_user_fields
user = update_user_fields({'user1': 'update'}, "listnum in (1,3) && email == '%s' && cnf == 1" % "reward@reward.de") # {'listnum': 2, 'sex': 0, 'firstname': '', 'lastname': '', 'email': 'max@mustermann.de', 'street': '', 'street_number': '', 'postcode': '', 'city': '', 'birthdate': None, 'country': '', 'area_code': '', 'phone_number': '0', 'cellphone_area_code': '', 'cellphone_number': '0', 'user1': 'update', 'user2': '', 'user3': '', 'user4': '', 'user5': '', 'user6': '', 'user7': '', 'user8': '', 'user9': '', 'user10': '', 'userx': '', 'cnf': '0', 'dateadd': '2024-02-03T17:16:52Z', 'ipaddr': '', 'refurl': '', 'htmail': '1', 'bounces': 0, 'modified': '2024-02-03T17:16:52Z', 'list': 2, 'id': 20434249, 'deleted': False}
Definition und Benutzung
Updated den ersten User der auf diese Selektion passt.
Syntax
update_user_fields(userfields, selection)
delete_users
row_count = delete_users("listnum in (1,3) && email == '%s' && cnf == 1" % "reward@reward.de") # 2
Definition und Benutzung
Löscht alle User die auf die Selektion passen. Als welche ip die Löschung ausgelöst hat, wird die ip genommen die übernommen wird. Der Grund ist Deleted by selection
Syntax
delete_users(selection, ip='127.0.0.1')
delete_templist_by_id
delete_templist_by_id('abcdef')
Definition und Benutzung
Löscht eine Templist by id
Syntax
delete_templist_by_id(templist_id)
delete_templists_by_selection
count_templist_deleted = delete_templists_by_selection(selection='description ~ "\{\{ whitelist \}\}%" && created <= DATE_ADD(NOW(), -10day)') # 2
Definition und Benutzung
Löscht alle templists die zu dieser Selektion passen.
Syntax
delete_templists_by_selection(selection)
select_templists
templists = select_templists(selection='description ~ "\{\{ whitelist \}\}%" && created <= DATE_ADD(NOW(), -10day)')
Definition und Benutzung
Selektiert die templists in der selektion und gibt sie als liste zurück
Syntax
select_templists(selection, limit=1000)
create_templist
whitelist = 'max@mustermann.de\nlea@mustermann.de'
create_whitelist = create_templist('whitelist', 'automatisch erstellt nach import:', 'test.csv', whitelist)
Definition und Benutzung
Erstellt eine templist und gibt diese zurück.
Syntax
create_templist(type_, description, filename, file_body):
create_import
data = 'max@mustermann.de\nlea@mustermann.de'
create_import(1, data, filename='create_import-automation.csv')
Definition und Benutzung
Uploaded den Import. Der Status ist dann uploaded, um den Import zu starten dann update_import benutzen.
Syntax
create_import(listnum, data, filename='creat_import-automation.csv')
update_import
download_csv = call_url('https://meine.csv')
user_import = create_import(1, download_csv.get('body'), 'meine.csv')
mapping = ['email', 'sex']
user_import = update_import(1, user_import.get('id'), mapping, 'sync', 'start')
Definition und Benutzung
Updated den hochgeladenen import, und starte ihn oder bricht ihn ab.
Syntax
update_import(listnum, import_id, mapping, mode='insert_update', action='start'):
replace_html_tag
replace_html_tag("<hr/>", "hr", "<br/>") # <br/>
replace_html_tag("<strong>Test</strong>", "strong", "<table><tr><td data-content='children'></td></tr></table>") # <table><tr><td>Test</td></tr></table>
Definition und Benutzung
Ersetz ein html tag durch ein anderes. Kann auch wie im zweiten Beispiel Inhalt mit übernehmen. Muss nicht valides html sein durch das es ersetzt wird man kann also auch Bsp. erst <ul>
durch <table data-content='children'></table>
ersetzen und dann die <li>
durch <tr><td data-content='children'></td></tr>
ersetzen.
Syntax
replace_html_tag(html_string, tagAsString, replacement):
creole2html
creole2html("** creole **") # <strong>creole</strong>
Definition und Benutzung
Konvertiert die Wiki-Syntax Creole in das HTML-Format.
Syntax
creole2html(creole_text)
mobilede2creole
creole2html(mobilede2creole()"* test\\")) # <ul><li>test</li></ul>
Definition und Benutzung
Die Funktion wandelt das Creole-Format von mobile.de in ein reguläres Creole-Format um, das dann beispielsweise in HTML konvertiert werden kann.
Syntax
creole2html(creole_text)
iso8601todatetime
iso8601_to_datetime('2024-06-27T14:10:00Z') # 2024-06-27 16:10:00+02:00
Definition und Benutzung
Wandelt ein ISO8601 in ein datetime object um
Syntax
iso8601_to_datetime(ISO_8601_as_string)
determinerssfeedasjson
resp = call_url('https://www.kajomi.de/blog/feed')
feed = determine_rss_feed_as_json(resp, ['rss', 'channel', 'item'], 3) # [OrderedDict([('title', OrderedDict([('$', 'Jetzt auch Microsoft! Authentifizierungsänderung und neue Regeln beim E-Mail-Versand')])), ('link', OrderedDict([('$', 'https://www.kajomi.de/microsoft-mit-neuer-email-authentifizierung/')])), ('comments', OrderedDict([('$', 'https://www.kajomi.de/microsoft-mit-neuer-email-authentifizierung/#respond')])), ('{http://purl.org/dc/elements/1.1/}creator', OrderedDict([('$', 'Sebastian Schmitt')])), ('pubDate', OrderedDict([('$', 'Fri, 07 Jun 2024 08:03:17 +0000')])), ('category', OrderedDict([('$', 'Allgemein')])), ('guid', OrderedDict([('@isPermaLink', False), ('$', 'https://www.kajomi.de/?p=2002')])), ('description', OrderedDict([('$', '<p><img width=\"1920\" height=\"1275\" src=\"https://www.kajomi.de/wp-content/uploads/matthew-manuel-BhLSBX-0rnM-unsplash.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"Microsoft zieht bei der E-Mail-Authentifizierung nach\" style=\"max-width: 100%; height: auto; margin-bottom: 10px;\" decoding=\"async\" fetchpriority=\"high\" srcset=\"https://www.kajomi.de/wp-content/uploads/matthew-manuel-BhLSBX-0rnM-unsplash.jpg 1920w, https://www.kajomi.de/wp-content/uploads/matthew-manuel-BhLSBX-0rnM-unsplash-300x199.jpg 300w, https://www.kajomi.de/wp-content/uploads/matthew-manuel-BhLSBX-0rnM-unsplash-1024x680.jpg 1024w, https://www.kajomi.de/wp-content/uploads/matthew-manuel-BhLSBX-0rnM-unsplash-768x510.jpg 768w, https://www.kajomi.de/wp-content/uploads/matthew-manuel-BhLSBX-0rnM-unsplash-1536x1020.jpg 1536w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" /></p>2024 ist das Jahr der E-Mail-Authentifizierung. Zu Beginn des Jahres haben Gmail und Yahoo neue Richtlinien für den E-Mail-Versand eingeführt. Nun folgt Microsoft diesem Beispiel und hat seine eigenen Regelungen …')])), ('{http://purl.org/rss/1.0/modules/content/}encoded', OrderedDict([('$', '<p> ... html content')])
Definition und Benutzung
Wandelt ein RSS Feed in ein JSON Object um.
Syntax
determine_rss_feed_as_json(response, path_to_items, limit)
pub_date_to_datetime
pub_date_to_datetime('Thu, 20 Oct 2022 04:00:00 GMT', 'Europe/Berlin') # 2022-10-20 06:00:00+02:00
Definition und Benutzung
Convertiert ein Pubdate eines RSS Feed zu datetime
Syntax
pub_date_to_datetime(pubdate_as_string, timezone_optional)
upper
upper("Pö") # PÖ
Definition und Benutzung
Gibt den selben String in Großbuchstaben zurück
Syntax
upper(string)
html_to_json
html_to_json("<html><body><div></div></body></html>") # OrderedDict([('html', OrderedDict([('body', OrderedDict([('div', OrderedDict([('@id', 'test')]))]))]))])
Definition und Benutzung
Wandelt eine HTML Page in JSON um
Syntax
html_to_json(html)
jsonpath_find
html_to_json("<html><body><div></div></body></html>")
jsonpath_find(json_data, "$..div") # [DatumInContext(value=OrderedDict([('@id', 'test')]), path=Fields('div'), context=DatumInContext(value=OrderedDict([('div', OrderedDict([('@id', 'test')]))]), path=Fields('body'), context=DatumInContext(value=OrderedDict([('body', OrderedDict([('div', OrderedDict([('@id', 'test')]))]))]), path=Fields('html'), context=DatumInContext(value=OrderedDict([('html', OrderedDict([('body', OrderedDict([('div', OrderedDict([('@id', 'test')]))]))]))]), path=Root(), context=None))))]
Definition und Benutzung
Query Languaege for json to select specific nodes. For more help google jsonpath
Syntax
jsonpath_find(json_data, expression)