mirror of
https://github.com/googlefonts/noto-emoji.git
synced 2025-07-08 05:26:41 +00:00
merge png dirs
This commit is contained in:
parent
42d256157a
commit
bfc6b1c304
1 changed files with 46 additions and 3 deletions
|
@ -2,10 +2,12 @@
|
|||
|
||||
from __future__ import print_function
|
||||
import pickle
|
||||
from os import path, makedirs
|
||||
from os import path, makedirs, walk, listdir
|
||||
import io
|
||||
import fire
|
||||
import sys
|
||||
import shutil
|
||||
from distutils.dir_util import copy_tree
|
||||
from googleapiclient.discovery import build
|
||||
from google_auth_oauthlib.flow import InstalledAppFlow
|
||||
from google.auth.transport.requests import Request
|
||||
|
@ -15,10 +17,10 @@ from googleapiclient.http import MediaIoBaseDownload
|
|||
SCOPES = ["https://www.googleapis.com/auth/drive"]
|
||||
|
||||
# Use this file like this:
|
||||
# python get_png_files_from_drive.py main "Drive_folder_name" "Output_dir_name"
|
||||
# python get_png_files_from_drive.py main "Drive_folder_name" "Output_dir_name" --reporting
|
||||
|
||||
|
||||
def main(folder_name, output_dir):
|
||||
def main(folder_name, output_dir, reporting=False):
|
||||
|
||||
# Create a token.pickle file to store the users session
|
||||
service = get_service()
|
||||
|
@ -35,6 +37,13 @@ def main(folder_name, output_dir):
|
|||
# Download the files from the drive and put them in the output_dir
|
||||
download_files(service, file_list, output_dir)
|
||||
|
||||
if reporting:
|
||||
# Generate a report on the downloaded files
|
||||
report_on_download(output_dir)
|
||||
|
||||
# Create a combined PNG dir. Files in the png dir are the default
|
||||
merge_png_dirs(output_dir)
|
||||
|
||||
|
||||
def get_service():
|
||||
|
||||
|
@ -145,5 +154,39 @@ def download_files(service, file_list, output_dir):
|
|||
f.write(fh.getbuffer())
|
||||
|
||||
|
||||
def report_on_download(output_dir):
|
||||
path, dirs, files = next(walk("./png/128"))
|
||||
file_count = len(files)
|
||||
|
||||
print(files)
|
||||
print(f"The original PNG directory contains {file_count} files.")
|
||||
|
||||
out_path, out_dirs, out_files = next(walk(output_dir))
|
||||
downloaded_file_count = len(out_files)
|
||||
|
||||
print(f"The downloaded PNG directory contains {downloaded_file_count} files.")
|
||||
|
||||
overlap_count = 0
|
||||
new_file_count = 0
|
||||
for file in out_files:
|
||||
if file in files:
|
||||
overlap_count += 1
|
||||
else:
|
||||
new_file_count += 1
|
||||
|
||||
print(f"{overlap_count} files in the {output_dir} are also in the original PNG folder")
|
||||
print(f"{new_file_count} files are new files that dont excist in the original PNG folder")
|
||||
print("These folders are now being combined in the combined_png directory")
|
||||
|
||||
|
||||
def merge_png_dirs(output_dir):
|
||||
copy_tree("./png/128", "./combined_png")
|
||||
src_files = listdir(output_dir)
|
||||
for file_name in src_files:
|
||||
full_file_name = path.join(output_dir, file_name)
|
||||
if path.isfile(full_file_name):
|
||||
shutil.copy(full_file_name, "./combined_png")
|
||||
shutil.rmtree(output_dir)
|
||||
|
||||
if __name__ == "__main__":
|
||||
fire.Fire()
|
||||
|
|
Loading…
Add table
Reference in a new issue