-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpost.py
More file actions
68 lines (60 loc) · 2.22 KB
/
post.py
File metadata and controls
68 lines (60 loc) · 2.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import json
import requests
import base64
import sys
log = open('log_post.log', 'a')
sys.stdout = log
def post_deleted_tweet(tweet_id):
secrets = open(".wp-login")
login = secrets.readlines()
user = login[0].rstrip('\n')
passwd = login[1].rstrip('\n')
credentials = user + ':' + passwd
url = "https://kafka.dev/wp-json/wp/v2/posts"
token = base64.b64encode(credentials.encode())
header = {'Authorization': 'Basic ' + token.decode('utf-8')}
filename = (tweet_id + '_Kaffie.json')
# Posten is waar
posten = True
#Open de json file met de tweet
print(f'Open {filename} en lees de inhoud')
try:
with open(filename) as f:
tweet_data = json.load(f)
except FileNotFoundError:
print('Deze tweet kennen we niet helaas')
posten = False
# Alleen posten als posten waar is
if posten == True:
# Gegevens om te posten
# Tijdstip van de post
tijdstip = tweet_data['created_at']
# Volle naam beschreven
naam = tweet_data['user']['name']
# (Huidige) schermnaam
scherm_naam = tweet_data['user']['screen_name']
# Vorige 2 samen, staat leuk voor in de post
gegevens = f'{naam} || schermnaam @{scherm_naam}'
#Volledige tweet text
if 'extended_tweet' in tweet_data:
tweettext = tweet_data['extended_tweet']['full_text']
elif tweet_data['retweeted_status']['truncated'] == True:
tweettext = tweet_data['retweeted_status']['extended_tweet']['full_text']
else:
tweettext = tweet_data['text']
# Te posten tekst
tweet_text = f'Oorspronkelijk getweet op {tijdstip} (LET OP! UTC tijd)\nGetweet door {gegevens}\n\n{tweettext}'
# Titel van de post
titel = f'Alert! {scherm_naam} deleted tweet met id {tweet_id}'
# Nog wat relevante gegegens voor wordpress
status = 'publish'
categorie = 62
# De daadwerkelijke post
post = {
'title' : titel,
'status' : status,
'content' : tweet_text,
'categories' : categorie,
}
antwoord = requests.post(url , headers=header, json=post)
print(antwoord)