summaryrefslogtreecommitdiff
path: root/backend/update.py
blob: 8af8fb30c886be8b060e6fcd4103fba8ebf9aaca (plain)
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#!/usr/bin/env python2

import os

found_git = (os.system("git status --porcelain") == 0)

if not found_git:
  print("ERROR: git not found")
  exit(1)

found_ikiwiki = (os.system("ikiwiki --version") == 0)
found_gitocalypse = (os.system("git-remote-freenet") == 256)
found_freesitemgr = (os.system("freesitemgr --version") == 0)
found_zeronetdir = 'ZERONETDIR' in os.environ

if not found_ikiwiki:
  print("WARNING: ikiwiki not found, pages will not be built")
if not found_gitocalypse:
  print("WARNING: gitocalypse not found, changes won't be synced with freenet")
if not found_freesitemgr:
  print("WARNING: freesitemgr/pyFreenet not found, public freesite won't be updated")

if not (found_ikiwiki or found_gitocalypse or found_freesitemgr):
  print("Changes will still be propagated if branchable is working.")

print(":: Pulling from simple repos ...")
os.environ["GIT_SSH_COMMAND"] = "ssh -F backend/auth/ssh-config"

status = 0
status += os.system("git pull git://standingwithresilience.branchable.com/ master")

if status != 0:
  print("WARNING: failed to pull changes from branchable")
  #exit(status)

status += os.system("git pull fairlystable-guest:/srv/git/standingwithresilience master")

if status != 0:
  print("WARNING: failed to pull changes from fairlystable")
  #exit(status)

del os.environ["GIT_SSH_COMMAND"]

# Pull from freenet repos
if found_gitocalypse:
  print(":: Pulling from freenet repos ...")
  # public freenet
  os.system("git pull freenet://USK@hCLgfaINNSNAl4do-PapEincQP5Lxa72d8mFrzHqzqU,jjuBPGO~oCByVoZ5f4Bny0Gp-l3kuDOtf3m-QBT4ekA,AQACAAE/Standing%20With%20Resilience%20Public.git.R1/0 master")
  # private freenet
  os.system("git pull freenet://USK@PSY0YngeDtGbj60hjEoilQiY9oKzVrptRC0rG4BEVPg,e6ZEjT4KvbsltPBJOeKNpIdty2oGzbLCdk4fsDA5Vdk,AQACAAE/Standing%20With%20Resilience.git.R1/0 master")


print(":: Pushing to simple repos ...")
os.environ["GIT_SSH_COMMAND"] = "ssh -F backend/auth/ssh-config"

status += os.system("git push git://standingwithresilience.branchable.com/")
status += os.system("git push fairlystable-guest:/srv/git/standingwithresilience")

del os.environ["GIT_SSH_COMMAND"]


# Push to freenet repos
if found_gitocalypse:
  print (":: Pushing to freenet repos ...")
  # public freenet
  os.system("git push freenet://USK@AKL0griFs7T25yw6-JR3Wk7vocvNBelOLg3RwtIL6aTp,jjuBPGO~oCByVoZ5f4Bny0Gp-l3kuDOtf3m-QBT4ekA,AQECAAE/Standing%20With%20Resilience%20Public.git.R1/0")


# Build wiki

if status != 0:
  print (":: Exiting due to failure")
  exit(status)

if not found_ikiwiki:
  print (":: Not building wiki; missing ikiwiki")
  exit(0)

print (":: Building wiki ...")

status += os.system("ikiwiki --wikiname 'A Wiki for Targeted Individuals' --rebuild ../wiki ../html")

if status != 0:
  print (":: Exiting due to failure")
  exit(status)

if found_freesitemgr:
  print (":: Publishing freesite ...")
  status += os.system("freesitemgr -c freesitemgr -v -l freesitemgr.log -r 1 update")

print "Done."

exit(status)