12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- import yaml
- from random import randint
- from os import remove
- from emoji import emojize
- # Constants
- codeFilePath = "./lang/codes/MyLifeCode"
- readmeFilePath = "../README.md" # To test
- lineCode = "<!-- codeHear -->"
- start = "<!-- START -->"
- reCode = "<h1>\n\n```LANG\nSTR\n```\n</h1>\n" + start
- # Open list.ymal file and generate code
- with open("lang/list.yaml", "r") as f:
- yamlFile = yaml.load(f, Loader=yaml.FullLoader)
- list = yamlFile.get("lang")
- # print type(list)
- print(type(list))
- # Test
- print(list)
- # Get current language from cache file
- currentLang = ""
- try:
- cf = open("./cache", "r")
- currentLang = cf.readline()
- currentLangIndex = int(str(cf.readline()))
- cf.close()
- except:
- currentLang = ""
- # Get random language
- while True:
- index = int(randint(0, len(list) - 1))
- lang = list[index]
- if lang.get('name') != currentLang:
- break
- # Open the cache file and write the new language
- cf = open("./cache", "w")
- # Write to cache file
- cf.write(lang.get('name'))
- cf.write("\n")
- cf.write(str(index))
- # close files
- cf.close()
- f.close()
- # Get code
- code = lang.get('print')
- code = emojize(code.replace("STR", "Hi there!"))
- reCode = reCode.replace("LANG", lang.get('name')).replace("STR", code)
- # Write code to README.md
- # Open readme file to read and write
- with open(readmeFilePath, "r", encoding="utf-8") as rf:
- readmeText = rf.read()
- rf.close()
- # Remove old code
- startIndex = readmeText.index(start) + len(start)
- readmeText = readmeText[startIndex:]
- #print(readmeText)
- # Write new code
- readmeText = reCode + readmeText
- # delete old readme file
- remove(readmeFilePath)
- # Write new readme file
- with open(readmeFilePath, "w", encoding="utf-8") as rf:
- rf.write(readmeText)
- rf.close()
|