# AGPL 3 or any later version # (C) J.Y.Amihud ( Blender Dumbass ) import os import json import time from modules.Common import * from modules import Set def Create(name): # Creates a base directory before publishing. if not name.count("/") == 1: print(clr["bold"]+clr["tdrd"]+"Error:"+clr["norm"]+" Wrong Format!") print('Use: $ python3 run.py --create articles/My_Article') name = Simplify(name.split("/")[0])+"/"+Simplify(name.split("/")[1]) folder = Set.Folder()+"/editing" try: os.makedirs(folder+"/"+name) except Exception as e: print(clr["bold"]+clr["tdrd"]+"Error:"+clr["norm"]+" Can't Create!", e) # The text file text = open(folder+"/"+name+"/text.md", "w") text.close() metadata = { "title":name.split("/")[1], "timestamp":time.time(), "description":"", "author":"", "thumbnail":"", "license":"cc-by-sa", "views":{ "amount":0, "viewers":[], "dates":{} }, "recording":"", "comments":{ "comments":[], "requests":[] } } with open(folder+"/"+name+"/metadata.json", "w") as save: json.dump(metadata, save, indent=4) print(clr["bold"]+clr["tbyl"]+name+clr["norm"]+" is created of editing.") print(' To write text use: $ python3 run.py --write '+name) print('To edit metadata use: $ python3 run.py --metadata '+name) print(' To publish use: $ python3 run.py --publish '+name) def Write(name): if not name.count("/") == 1: print(clr["bold"]+clr["tdrd"]+"Error:"+clr["norm"]+" Wrong Format!") print('Use: $ python3 run.py --write articles/My_Article') name = Simplify(name.split("/")[0])+"/"+Simplify(name.split("/")[1]) folder = Set.Folder()+"/editing/"+name os.system(Set.Load().get("editor", "nano")+" "+folder+"/text.md") def Metadata(name): if not name.count("/") == 1: print(clr["bold"]+clr["tdrd"]+"Error:"+clr["norm"]+" Wrong Format!") print('Use: $ python3 run.py --metadata articles/My_Article') name = Simplify(name.split("/")[0])+"/"+Simplify(name.split("/")[1]) folder = Set.Folder()+"/editing/"+name os.system(Set.Load().get("editor", "nano")+" "+folder+"/metadata.json") def Publish(name): if not name.count("/") == 1: print(clr["bold"]+clr["tdrd"]+"Error:"+clr["norm"]+" Wrong Format!") print('Use: $ python3 run.py --publish articles/My_Article') name = Simplify(name.split("/")[0])+"/"+Simplify(name.split("/")[1]) folder = Set.Folder() source = folder+"/editing/"+name destination = folder+"/tabs/"+name try: os.makedirs(folder+"/tabs/"+name) os.rename(source+"/text.md", destination+"/text.md") os.rename(source+"/metadata.json", destination+"/metadata.json") except Exception as e: print(clr["bold"]+clr["tdrd"]+"Error:"+clr["norm"]+" Could not publish!", e) print(destination, "has been published!")