12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- #!/usr/bin/python
- # -*- coding: UTF-8 -*-
- import os
- import sys
- import time
- import pyrebase
- from pyrebase.pyrebase import storage
- import firebase_admin
- from firebase_admin import storage as admin_storage, credentials, firestore
- config = {
- "apiKey": "AIzaSyDgUaO2w4gtBI_pKyRWKxORItTSUH_FP1I",
- "authDomain": "sniper-shooting-e959d.firebaseapp.com",
- "databaseURL": "https://databaseName.firebaseio.com",
- "storageBucket": "sniper-shooting-e959d.appspot.com",
- "serviceAccount": "sniper-shooting-e959d-firebase-adminsdk-79zph-8fd785934d.json"
- }
- parentdir = 'ss_upload'
- datadir = 'snipershooting_'
- downloadDirName = 'Downloads'
- uploadDirName = 'Uploads'
- firebase = pyrebase.initialize_app(config)
- storage = firebase.storage()
- all_files = storage.child("").list_files()
- def main(argv):
- #print('argv=',argv)
- if len(argv) == 2:
- if argv[0] == 'del':
- delete(int(argv[1]))
- print(datadir+'firebase delete op done')
- if argv[0] == 'get':
- download(int(argv[1]))
- print(datadir+'firebase download op done')
- else:
- print('Commond param error')
- def download(number):
- cred = credentials.Certificate(config['serviceAccount'])
- admin = firebase_admin.initialize_app(cred, {'storageBucket': config['storageBucket']})
- bucket = admin_storage.bucket()
- if not os.path.exists(parentdir):
- os.mkdir(parentdir)
- timestr = time.strftime('%Y%m%d%H%M%S',time.localtime(time.time()))
- rootDir = os.path.join(parentdir, datadir + timestr)
- uploadDir = os.path.join(rootDir, uploadDirName)
- downloadDir = os.path.join(rootDir, downloadDirName)
- if not os.path.exists(rootDir):
- os.mkdir(rootDir)
- os.mkdir(uploadDir)
- os.mkdir(downloadDir)
- count = 0
- for file in all_files:
- if count == number:
- break
- try:
- print(datadir+'Download file=',file.name)
- if 'UserData_' in file.name:
- file.download_to_filename(os.path.join(uploadDir, file.name))
- else:
- file.download_to_filename(os.path.join(downloadDir, file.name))
- blob = bucket.blob(file.name)
- blob.delete()
- except:
- print(datadir+'Download Failed:', file.name)
- count += 1
- def delete(number):
- cred = credentials.Certificate(config['serviceAccount'])
- admin = firebase_admin.initialize_app(cred, {'storageBucket': config['storageBucket']})
- bucket = admin_storage.bucket()
- count = 0
- for file in all_files:
- if count == number:
- break
- try:
- print(datadir+'Delete file='+file.name)
- blob = bucket.blob(file.name)
- blob.delete()
- except:
- print(datadir+'Delete file error:', file.name)
- count += 1
-
- if __name__ == '__main__':
- main(sys.argv[1:])
|