Guest User

Untitled

a guest
Jan 11th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.00 KB | None | 0 0
  1. import click
  2. import json
  3. import pymysql
  4. import datetime
  5. import cloudinary
  6. import cloudinary.uploader
  7. import cloudinary.api
  8. import pytest
  9. #Config
  10. try:
  11. conn=pymysql.connect(host="localhost",user="root",passwd="",db="cv4u")
  12. mycr=conn.cursor()
  13. cloudinary.config(cloud_name="dy9so7yhs", api_key="543617755226786", api_secret="pawptsoBASgr1jWvD0lhZAvOZhU",
  14. CLOUDINARY_URL="cloudinary://543617755226786:pawptsoBASgr1jWvD0lhZAvOZhU@dy9so7yhs")
  15. except Exception:
  16. print("Cannot connect to Mysql//Cloudinary")
  17. @click.group(chain=True)
  18. def cli():
  19. pass
  20. @cli.command('login')
  21. @click.option('--username')
  22. @click.option('--password')
  23. def login(username,password):
  24. userold=username
  25. username=addslashes(username)
  26. try:
  27. mycr.execute("SELECT passwordval from users where username="+username)
  28. data=mycr.fetchall()
  29. data=str(data[0][0])
  30. if(data==password):
  31. print(userold+" Has logged successfully into the system!")
  32. tokenuser(userold)
  33. else:
  34. print("Wrong Password\\Username details!")
  35. except Exception:
  36. print("Wrong Password\\Username details!")
  37. @cli.command('register')
  38. @click.option('--username')
  39. @click.option('--password')
  40. @click.option('--email')
  41. @click.option('--acctype')
  42. def register(username,password,email,acctype):
  43. acctype=int(acctype)
  44. username=addslashes(username)
  45. password=addslashes(password)
  46. s="""INSERT INTO users(`ID`, `username`, `passwordval`, `typeid`) VALUES (NULL ,%s,%s,%s)"""%(username,password,acctype)
  47. sp=mycr.execute(s)
  48. conn.commit()
  49. if sp==1:
  50. print("Register Successfully!")
  51. conn.close()
  52. else:
  53. print("Register occur a problem")
  54. @cli.command('filter')
  55. def filter():
  56. username=addslashes(tokenread())
  57. try:
  58. mycr.execute("SELECT typeid from users where username="+username)
  59. data=mycr.fetchall()
  60. data = str(data[0][0])
  61. if(data=="1"):
  62. readr="""SELECT * FROM `cvinfo`"""
  63. sp=mycr.execute(readr)
  64. dicti=mycr.fetchall()
  65. for i in dicti:
  66. print(i)
  67. else:
  68. print("Account type not suiteable for Filter!")
  69. except Exception as e:
  70. print(e)
  71. @cli.command('add')
  72. @click.option('--path')
  73. def upload(path):
  74. username=addslashes(tokenread())#Username
  75. nowdate=datetime.datetime.now()
  76. currdate=addslashes(str(nowdate.year)+"-"+str(nowdate.month)+"-"+str(nowdate.day))
  77. with open(path) as fd:
  78. json_data = json.load(fd)
  79. #In the future add the opprituntiy to read in loop and add columns to the sql
  80. personal=addslashes(json_data['basics']['summary'])
  81. edu=addslashes(json_data['education']['edu'])
  82. skills=addslashes(json_data['skills']['desc'])
  83. carrhist=addslashes(json_data['history']['desc'])
  84. ref=addslashes(json_data['references']['reference'])
  85. image=addslashes(json_data['basics']['image'])
  86. img =json_data['basics']['image']
  87. s="""INSERT INTO `cvinfo` (`ID`, `username`, `datecol`, `personals`, `academich`, `skills`, `carrerhistory`, `refe` , `image`) VALUES (NULL,%s,%s,%s,%s,%s,%s,%s,%s) """%(username,currdate,personal,edu,skills,carrhist,ref,image)
  88. sp=mycr.execute(s)
  89. conn.commit()
  90. cloudinary.uploader.upload(img,public_id=img)
  91. if sp==1:
  92. print("CV Uploaded Successfully!")
  93. conn.close()
  94. return True
  95. else:
  96. print("CV Uploading occur a problem")
  97. return False
  98. def test_upload():
  99. tokenuser("test")
  100. assert upload("cv.json")==True
  101. def addslashes(name):
  102. return ("\'"+name+"\'")
  103. def tokenuser(user):
  104. filet=None
  105. try:
  106. filet=open("token.dat","w")
  107. filet.write(user)
  108. except Exception:
  109. print("Cannot write token")
  110. finally:
  111. if filet:
  112. filet.close()
  113. def tokenread():
  114. username=None
  115. try:
  116. filet=open("token.dat","r")
  117. username=filet.read()
  118. filet.close()
  119. except Exception:
  120. print("You are not logged in\\Token not found")
  121. return username
  122. if __name__ == '__main__':
  123. cli()
Add Comment
Please, Sign In to add comment