Skip to content

Instantly share code, notes, and snippets.

@agusmakmun
Last active August 2, 2018 18:24
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save agusmakmun/16bbacc4a450dae22fee38eee0e13182 to your computer and use it in GitHub Desktop.
Save agusmakmun/16bbacc4a450dae22fee38eee0e13182 to your computer and use it in GitHub Desktop.
import os
import glob
import time
import hashlib
import tempfile
user_ssl_path = 'aditya/ssl'
userdata = glob.glob('/home/agaust/%s/*' % user_ssl_path)
userdata.sort(key=os.path.getmtime)
tmp_folder = os.path.join(tempfile.gettempdir(), user_ssl_path)
def hash_checker():
data = ''
for filename in userdata:
data += '%s\n' % filename
to_hash = hashlib.sha1(data.encode('utf-8')).hexdigest()
new_hash_file = '%s/%s' % (tmp_folder, to_hash)
if not os.path.exists(new_hash_file):
try:
# membuat folder '/username/ssl'
# apabila sebelumnya belum ada di '/tmp/'
os.makedirs(tmp_folder)
except FileExistsError:
# melewati folder '/username/ssl'
# jika folder tsb sudah ada do '/tmp'
pass
try:
# mengecek kesamaan hash
# antara yang lama dengan yang baru
# apabila tidak sama, dan ada hash lama,
# maka hash lama dihapus diganti hash baru
old_hash_filename = os.listdir(tmp_folder)[0]
if old_hash_filename != os.path.split(new_hash_file)[-1]:
os.remove('%s/%s' % (tmp_folder, old_hash_filename))
except IndexError:
pass
# membuat hash baru, ini sudah terkondisikan
# dengan `if not os.path(...) diatas`
f = open(new_hash_file, 'w')
f.write(to_hash)
f.close()
print('tmp: %s' % new_hash_file)
print(tmp_folder)
print(os.listdir(tmp_folder))
hash_checker()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment