Guest User

Untitled

a guest
Feb 22nd, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.82 KB | None | 0 0
  1. import os
  2. import yaml
  3. import sys
  4.  
  5. def worldprefix(world,worldname):
  6. if worldname.startswith(world + "_") or worldname == world:
  7. return True
  8. else:
  9. return False
  10. if len(sys.argv) == 1:
  11. print("Please specify world(s) to extract")
  12. else:
  13. for world in sys.argv[1:]:
  14. print("Extracting Essentials userdata for world: "+world)
  15.  
  16. if "userdata" in os.listdir():
  17. output_extraction = 'userdata_'+world
  18. output_remainder = 'userdata'
  19. try:
  20. os.stat(output_extraction)
  21. except:
  22. os.mkdir(output_extraction)
  23. try:
  24. os.stat(output_remainder)
  25. except:
  26. os.mkdir(output_remainder)
  27. for filename in os.listdir('userdata'):
  28. if filename.endswith('.yml'):
  29. with open(os.path.join('userdata', filename), 'r') as stream:
  30. try:
  31. ess = yaml.load(stream)
  32. except yaml.YAMLError as exc:
  33. print(exc)
  34. ess = yaml.load("")
  35. if "lastAccountName" in ess.keys():
  36. print("Processing user: "+ess["lastAccountName"])
  37. else:
  38. print("Processing unknown user in "+filename)
  39. new_ess = dict.copy(ess)
  40. if "homes" in ess.keys():
  41. homes = ess["homes"]
  42. new_homes = dict.copy(ess["homes"])
  43. for home in dict.copy(homes):
  44. if worldprefix(world,homes[home]["world"]):
  45. del(homes[home])
  46. else:
  47. del(new_homes[home])
  48. new_ess["homes"]=new_homes
  49. if "lastlocation" in ess.keys():
  50. if worldprefix(world,ess["lastlocation"]["world"]):
  51. del(ess["lastlocation"])
  52. else:
  53. del(new_ess["lastlocation"])
  54. if "logoutlocation" in ess.keys():
  55. if worldprefix(world,ess["logoutlocation"]["world"]):
  56. del(ess["logoutlocation"])
  57. else:
  58. del(new_ess["logoutlocation"])
  59. with open (os.path.join(output_extraction,filename),'w') as output:
  60. output.write(yaml.dump(new_ess,default_flow_style=False))
  61. output.close()
  62. with open (os.path.join(output_remainder,filename),'w') as output:
  63. output.write(yaml.dump(ess,default_flow_style=False))
  64. output.close()
  65. else:
  66. print("We need to be in the plugins/Essentials folder")
Add Comment
Please, Sign In to add comment