aboutsummaryrefslogtreecommitdiffstats
path: root/docs/scripts/create_publications.py
diff options
context:
space:
mode:
Diffstat (limited to 'docs/scripts/create_publications.py')
-rw-r--r--docs/scripts/create_publications.py99
1 files changed, 99 insertions, 0 deletions
diff --git a/docs/scripts/create_publications.py b/docs/scripts/create_publications.py
new file mode 100644
index 00000000..c260c760
--- /dev/null
+++ b/docs/scripts/create_publications.py
@@ -0,0 +1,99 @@
+import requests, json, time
+from requests.auth import HTTPBasicAuth
+
+'''
+This script can create a collection of publications in Calenco. It use Rest API to launch requests to Calenco.
+Specify:
+- your credentials
+- the workspace ws
+- the storsrv, defined in Calenco and pointing to the server storing the publications
+Check the publication list, in particular the collection of language in each manual
+'''
+def test():
+ resp = requests.get('http://mageia.calenco.com:8284/workspaces/Documentation/publications/DrakX-FR-WebHelp', auth=HTTPBasicAuth('name','pw'))
+ if resp.status_code != 200:
+ # This means something went wrong.
+ print('GET /workspaces/ {}'.format(resp.status_code))
+ exit()
+ #for item in resp.json():
+ item = resp.json()
+ print(item)
+
+#print('name: {}\nhref: {}\nautomatic: {}\n isOutdatad: {}\n xsl : :{}\n input : :{}\n output ::{}\n'.format(item['name'],
+# item['href'], item['automatic'], item['isOutdated'], item['xsl'], item['input'], item['output']))
+def create_pub(pub_params,ws):
+ user = "to_complete@mageia.org"
+ pw = "password_to_complete"
+ site = "http://mageia.calenco.com:8284/workspaces/"
+
+ resp = requests.post('{}{}/publications'.format(site,ws),
+ auth=HTTPBasicAuth(user, pw),
+ data=json.dumps(pub_params))
+ #item = resp.json()
+ print('Pour : %s'% pub_params['name'] )
+ print(resp.status_code, resp.text)
+ if resp.status_code == 201:
+ time.sleep(10)
+
+ws = "Mga7"
+dest = "/public_html/{}".format(ws)
+#storsrv = "storageservers/STOR0504658793a605a18f558fcea37f7931" Documentation
+storsrv = "storageservers/STOR5fa984e7e2ee1d4be873674cf37561b1"
+
+pub_params={}
+pub_paths = {'DrakLive' : 'draklive', 'MCC' : 'mcc', 'DrakX' : 'installer', 'NetInstall' : 'netinstall'}
+# code de deux lettres de la langue, manuel parmi DrakLive, MCC, DrakX, NetInstall
+listLang = {
+ "DrakLive": ('cs','de','el','en','es','et','eu','fr','hr','ja','nb','nl','pt_BR','ro','ru','sk','sq','sl','sv','tr','uk','zh_CN'),
+ 'DrakX' : ('ca','cs','de','el','en','eo','es','et','eu','fr','hr','hu','ja','nb','nl','pl',
+ 'pt_BR','ro','ru','sk','sl','sq','sv','tr','uk','zh_CN') ,
+ 'MCC' : ('ca','cs','da','de','el','en','es','et','eu','fr','hu','id','it','ja','nb','nl','pl',
+ 'pt_BR','ro','ru','sk','sl','sq','sv','tr','uk','zh_CN'),
+ 'NetInstall' : ('ca','cs','de','el','en','es','et','eu','fr','hu','ja','nb','nl',
+ 'pt_BR','ru','sl','sv','tr','uk','zh_CN')
+ }
+pubs = []
+for manual in listLang.keys():
+ for lang in listLang[manual]:
+ pubs.append([lang,manual])
+
+for pub in pubs:
+ #WebHelp
+ pub_params['input']= '/workspaces/{ws}/content/{lang}/{manual}.xml'.format(manual=pub[1], lang=pub[0],ws = ws)
+ pub_params['name'] = '{manual}-{lang}-WebHelp'.format(manual=pub[1], lang=pub[0].upper())
+ pub_params['rs-path'] = "{dest}/{lang}/{path}".format( lang=pub[0].lower(), path=pub_paths[pub[1]], dest=dest)
+ pub_params['outname'] = '{manual}'.format(manual=pub_paths[pub[1]])
+ pub_params['intype'] = 'DocBook5.0'
+ pub_params['toolchain'] = 'DocBook_Screen_WebHelp'
+ pub_params['xsl'] = '/workspaces/{}/content/WebHelp-DrakX.xsl'.format(ws)
+ if (pub[1] == "DrakLive"):
+ pub_params['xslparams'] = 'profile.condition=live'
+ elif(pub[1] == "DrakX"):
+ pub_params['xslparams'] = 'profile.condition=classical'
+ pub_params['method'] = 'FTP'
+ pub_params['storsrv'] = '/workspaces/{}/{}'.format(ws,storsrv)
+ pub_params['rs-multifile'] = True
+ pub_params['automatic'] = True
+ create_pub(pub_params,ws)
+ # WebHelp-zipped
+ pub_params['name'] = '{manual}-{lang}-WebHelp-zipped'.format(manual=pub[1], lang=pub[0].upper())
+ del pub_params['rs-multifile']
+ pub_params['rs-path'] = "{dest}/zipped/{path}/{lang}".format(dest = dest, lang=pub[0].lower(), path=pub_paths[pub[1]])
+ pub_params['outname'] = '{manual}-{lang}-WebHelp-zipped.zip'.format(lang=pub[0].upper(), manual=pub[1])
+ create_pub(pub_params,ws)
+ # Epub
+ pub_params['name'] = '{manual}-{lang}-EPUB'.format(manual=pub[1], lang=pub[0].upper())
+ pub_params['rs-path'] = "/public_html/EPUB/{path}".format( path=pub_paths[pub[1]])
+ pub_params['toolchain'] = 'DocBook_EPUB3_Chunk'
+ pub_params['xsl'] = 'http://www.calenco.com/xsl/epub3/epub.xsl'
+ pub_params['outname'] = '{manual}-{lang}-EPUB.epub'.format(lang=pub[0].upper(), manual=pub[1])
+ create_pub(pub_params,ws)
+ # PDF (cover)
+ pub_params['input']= '/workspaces/{ws}/content/{lang}/{manual}-cover.xml'.format(manual=pub[1], lang=pub[0], ws = ws)
+ pub_params['name'] = '{manual}-cover-{lang}-PDF'.format(manual=pub[1], lang=pub[0].upper())
+ pub_params['rs-path'] = "{dest}/PDF/{path}".format( path=pub_paths[pub[1]],dest=dest)
+ pub_params['xsl'] = 'http://www.calenco.com/xsl/docbook/ns/fo/calenco-fo.xsl'
+ pub_params['outname'] = '{manual}-cover-{lang}-PDF.pdf'.format(lang=pub[0].upper(), manual=pub[1])
+ pub_params['toolchain'] = 'DocBook_to_PDF_FOP'
+ create_pub(pub_params,ws)
+