From 7c238a2b23c0f20649b7088e19ce9cc61a5f11c0 Mon Sep 17 00:00:00 2001 From: Jeffrey Gill Date: Sat, 2 Jan 2021 21:19:26 -0500 Subject: [PATCH] Add capability to download files from Google Drive neurotic can now download data from Google Drive if a URL-like path is provided in the metadata (e.g., `gdrive://My Drive/some folder/some file`). This feature is compatible both with your personal space on Google Drive ("My Drive") and with Shared Drives. Some extra configuration is required before this feature can be used. --- README.rst | 20 +- docs/_static/gdrive-auth-1.png | Bin 0 -> 38347 bytes docs/_static/gdrive-auth-2.png | Bin 0 -> 51381 bytes docs/_static/gdrive-auth-3.png | Bin 0 -> 66889 bytes docs/_static/gdrive-auth-4.png | Bin 0 -> 47124 bytes docs/_static/gdrive-auth-5.png | Bin 0 -> 73201 bytes docs/api.rst | 1 + docs/api/gdrive.rst | 6 + docs/gdrive.rst | 162 +++++++++++++++ docs/globalconfig.rst | 10 +- docs/index.rst | 1 + docs/metadata.rst | 62 +++++- docs/overview.rst | 18 +- neurotic/__init__.py | 14 ++ neurotic/datasets/__init__.py | 1 + neurotic/datasets/download.py | 21 +- neurotic/datasets/gdrive.py | 308 ++++++++++++++++++++++++++++ neurotic/global_config_template.txt | 16 ++ neurotic/gui/standalone.py | 109 +++++++++- requirements.txt | 2 + 20 files changed, 706 insertions(+), 45 deletions(-) create mode 100644 docs/_static/gdrive-auth-1.png create mode 100644 docs/_static/gdrive-auth-2.png create mode 100644 docs/_static/gdrive-auth-3.png create mode 100644 docs/_static/gdrive-auth-4.png create mode 100644 docs/_static/gdrive-auth-5.png create mode 100644 docs/api/gdrive.rst create mode 100644 docs/gdrive.rst create mode 100644 neurotic/datasets/gdrive.py diff --git a/README.rst b/README.rst index 8d73e6c..3a80f38 100644 --- a/README.rst +++ b/README.rst @@ -55,9 +55,9 @@ To use the app, first organize your datasets in a *metadata file* like this Open your metadata file in *neurotic* and choose a dataset. If the data and video files aren't already on your local computer, the app can download them -for you, even from a password-protected server. Finally, click launch and the -app will use a standard viewer layout to display your data to you using -ephyviewer_. +for you, even from a password-protected server or from Google Drive. Finally, +click launch and the app will use a standard viewer layout to display your data +to you using ephyviewer_. |Example screenshot| @@ -87,12 +87,12 @@ Electrophysiologists will find this tool useful even if they don't need the video synchronization feature! **Portability is easy with neurotic!** Use relative paths in your metadata file -along with a remotely accessible data store such as GIN_ to make your metadata -file fully portable. The same metadata file can be copied to a different -computer, and downloaded files will automatically be saved to the right place. -Data stores can be password protected and *neurotic* will prompt you for a user -name and password. This makes it easy to share the *neurotic* experience with -your colleagues! 🤪 +along with a remotely accessible data store such as GIN_ or a Shared Drive on +Google Drive to make your metadata file fully portable. The same metadata file +can be copied to a different computer, and downloaded files will automatically +be saved to the right place. Data stores can be password protected and +*neurotic* will prompt you for a user name and password. This makes it easy to +share the *neurotic* experience with your colleagues! 🤪 Installing *neurotic* --------------------- @@ -319,7 +319,7 @@ Documentation ------------- For detailed information on configuring metadata, working examples, the API -reference guide, and release notes, see the Documentation_. +reference guide, release notes, and more, see the Documentation_. .. |neurotic logo| image:: https://raw.githubusercontent.com/jpgill86/neurotic/master/neurotic/gui/icons/img/neurotic-logo-30.png diff --git a/docs/_static/gdrive-auth-1.png b/docs/_static/gdrive-auth-1.png new file mode 100644 index 0000000000000000000000000000000000000000..1f9589ea5e1453ef868089f7c7f6d595c6ee99b1 GIT binary patch literal 38347 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 Aa{vGU literal 0 HcmV?d00001 diff --git a/docs/_static/gdrive-auth-2.png b/docs/_static/gdrive-auth-2.png new file mode 100644 index 0000000000000000000000000000000000000000..81182f11a1d8fe158c956f87229c15d1ad5ddf00 GIT binary patch literal 51381 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

1dwGg;$rw93CDPk--+sA#{x^-c1s<67cI^~0Y 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%0ATB4A2-0F4ly z5{>#ZhHaLQq7x_nzO*5T_AUVDtk$gwa#okO_qdD0HVz?(jd9k&)`|ks3+1h>rreT( zn8m&MSt5H0cemo1yYfx`3IG$Hu$Y&H5hwjCTB#{^jRYBdUp5}7qNcP;5}M2@i5v!A3wSgA z%I)7&CODvuYf{Swl0eUv^GRk_#I|M45v6GI2{6GeXXzz1R#6;!kn2Y)0U$LoMYpJD zhzbs%Q6&h$oi*ofsz@_v0;_3zLq>nbP)|;lg{y3zcN5H>dqk712`XV@+f+D*AR>xP~ut^_yG`N?%sh_|dG;3f~YC*hJCSqh9LPy$<-?alnPby)W0z*u!{`?qDseO+`UTKQ|72dZePS0 zmLg@EB0ZhvZ2ZZ=iJyjLrK|6t9v8_m!EK95<$e-C)3;8$i1+a;Z@~0IC82=GmHG9C zg9w4Eb$514;^ZCkMq<1fjx2g|nM9z<6CE>Uo-*13J+@|VC8N~nktfjWBN&yhsmw$p z3m{aD5Be0Zd>#<%n5=URvJj&|Rd8~8gLCu}^3|gu5!jiX(;ffWB z0N)fqATZicrzf-wkySAqzbgu}j1xpDS&3pMR&}1qm~+uYKY=|=&kOjWQCgxF4fBxP z$HkH?())E}a9DL(6qtqYqp9#$#BVCY$B&vPYFq%g9GSzaNLAmw`(T9kE4{(mm@D3a z{QkN0z!9#3CcDNz^hmT?Y z!X-X|(W7}4f{`qeY2XDxV=iQ&tfG*<6ZU>Rz5GtLboa4vNYQF9VE-?UM_AI!hnZP1 zUI~tsL&bPvLL31zRg~5a9>;s7fqC)VT)IbP}Zprm{d_>bY~QhLynY8ro~7 z(VWVgN~*eBVvf;i3+0vl*E*+k^;4TXDUc-t4>*NYlCutA!4djx&Mfrg7u2h+rDR7p z)3i%!N+>ys;wGzJeW!E8?b#H;9sq2qUQ*a!F-^gVx6iq#QX0mKV@XjASInZb=%wAi z1k#HrSxbozlO61?#7q;4t`=q046F3IWXJSbZ8<2ho{@0pJ35Imo~FHFp!4Dfh4wiY~YRR+O2(S*zY~iIrju}Rf<8=Fa%{}85^y6K_lWS}= zq>JTu7UC>Lt8R3xgYl6m+4pHGh{g+ck0_xN+mxY)7cPv};{%V-TJBde1G_WmKTJq$ zE{@%2#gdVNr{n>eWHDT8$P+bpLyRfb-ngEa;J|~>(u|+5MT)wokqXR+M+ofr<_CDc z;r{0)Rt<_!)Fh@HOl>DYe2Z(Ak|OuAF@4{kKkF*Qd>;pr9Debqq9Q@@I&?V

wr?)E!F*8XiC#W6dHKl5_OX)YIc_e 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�o@Hs?W@o5ZH}6vqX~7EPxc@8+Bl=V#XD_d zKWpN?>{Lce0X!b>F84b&llfr+x<0N2r?CoSpGy@(sW)wP z$Codz<7hqo`VgWMBX(Yev|e2;5ee5VK4YI7Fp=?W#Ry#Z)8HX)mU&_1mC=B7J^6~^ zGa+w(pHWSJ%7SAH|5Nk#wA*<`CyriL@BGw8eT5fHihSWXj^Dv~ytyb8=^Ew(iLj@3>*HR=}7ShMw$70iiax=k}L(?v+43ri}LAdQI0G4Q>tz* z4+De?YMQHaB{UumR9kyxrP4}TFC?iQYU8--;pO#&tq>9r5WxFnj6xBw$1>1ZJ?Nyd zzw3;#%0Q=oodwz$VJ#1Kqot>R{jsqnuDN#8Qf8l4Nmdqpc6Qd>;bo46{ffrA1rjZH ziS%MBAD0Vj<1L$~bMNGLP-x^4>yGQH zE)3xR#zz8+lK(sMR(f{y%bEX*J{|&RaEv%xv;+9{{wOE)z1I` literal 0 HcmV?d00001 diff --git a/docs/_static/gdrive-auth-4.png b/docs/_static/gdrive-auth-4.png new file mode 100644 index 0000000000000000000000000000000000000000..8d919393dbc3f00c9594b9ac2d80fc7f8f94b958 GIT binary patch literal 47124 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

%1CQi(0yeLMJHeOC5X(BsSRCHGYI}OqC_;5 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 n`_ for an informal discussion. + +.. _Google API Console: https://console.developers.google.com diff --git a/docs/globalconfig.rst b/docs/globalconfig.rst index 867428d..0bd6221 100644 --- a/docs/globalconfig.rst +++ b/docs/globalconfig.rst @@ -3,16 +3,18 @@ Changing Default Behavior ========================= -Default parameters used by the command line interface for launching the app, -such as which metadata file to open initially, can be configured using global -configuration settings located in ``.neurotic/neurotic-config.txt`` in your -home directory: +Default parameters used by the app and by the command line interface, such +as which metadata file to open initially or whether Google Drive access tokens +should be stored indefinitely, can be configured using global configuration +settings located in ``.neurotic/neurotic-config.txt`` in your home directory: - Windows: ``C:\Users\\.neurotic\neurotic-config.txt`` - macOS: ``/Users//.neurotic/neurotic-config.txt`` - Linux: ``/home//.neurotic/neurotic-config.txt`` The file can be opened easily using the "View global config file" menu action. +You may edit it to customize your settings. The next time you launch the app or +use the command line interface, your changes should be in effect. If this file does not exist when *neurotic* is launched, the following template is created for you: diff --git a/docs/index.rst b/docs/index.rst index 84f8bb9..00216f9 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -28,6 +28,7 @@ at the same datasets! citations metadata examples + gdrive globalconfig api releasenotes diff --git a/docs/metadata.rst b/docs/metadata.rst index 1fcd8cb..763680a 100644 --- a/docs/metadata.rst +++ b/docs/metadata.rst @@ -88,8 +88,9 @@ Remote Data Available for Download Data files must be stored on the local computer for *neurotic* to load them and display their contents. If the files are available for download from a remote -server, *neurotic* can be configured to download them for you to the local -directory specified by ``data_dir`` if the files aren't there already. +server (e.g., a web site, an FTP server, or Google Drive), *neurotic* can be +configured to download them for you to the local directory specified by +``data_dir`` if the files aren't there already. Specify the URL to the directory containing the data on the remote server using ``remote_data_dir``. *neurotic* expects the local ``data_dir`` and the @@ -164,13 +165,56 @@ to the metadata file. In the example above, if the metadata file is located in .. note:: **Portability is easy with neurotic!** Use relative paths in your metadata - file along with a remotely accessible data store such as GIN_ to make your - metadata file fully portable. The example above is a simple model of this - style. A metadata file like this can be copied to a different computer, and - downloaded files will automatically be saved to the right place. Data - stores can be password protected and *neurotic* will prompt you for a user - name and password. This makes it easy to share the *neurotic* experience - with your colleagues! 🤪 + file along with a remotely accessible data store such as GIN_ or a Shared + Drive on Google Drive (see details below) to make your metadata file fully + portable. The example above is a simple model of this style. A metadata + file like this can be copied to a different computer, and downloaded files + will automatically be saved to the right place. Data stores can be password + protected and *neurotic* will prompt you for a user name and password. This + makes it easy to share the *neurotic* experience with your colleagues! 🤪 + +.. _gdrive-urls: + +URLs to Use with Google Drive +............................. + +After completing some essential manual setup (see :ref:`gdrive`), *neurotic* +can retrieve remote files from Google Drive using URL-like paths of the +following form:: + + gdrive:////<...>// + +The ```` may be "``My Drive``" for files located in a personal +Google Drive, or it may be the name of a Shared Drive that the user has +permission to access. + +Note that these URL-like paths are not equivalent to ordinary URLs +associated with Google Drive files, such as shareable links, which are +composed of pseudorandom file IDs and do not reveal anything about the name +of the file or the folders containing it. Instead, these URL-like paths allow +you to structure your metadata with the file tree hierarchy in mind, so that +relative paths can be used. + +For example, with datasets stored in subdirectories "datasets/A", "datasets/B", +etc., of a Shared Drive titled "Lab Project Data", you +could use this metadata to mirror the files locally: + +.. code-block:: yaml + + neurotic_config: + remote_data_root: gdrive://Lab Project Data/datasets + + Dataset A: + data_dir: A + remote_data_dir: A + data_file: data.axgx + video_file: video.mp4 + + Dataset B: + data_dir: B + remote_data_dir: B + data_file: data.axgx + video_file: video.mp4 .. _gin-urls: diff --git a/docs/overview.rst b/docs/overview.rst index eef74b3..2d70a0e 100644 --- a/docs/overview.rst +++ b/docs/overview.rst @@ -44,9 +44,9 @@ To use *neurotic*, first organize your datasets in a *metadata file* like this Open your metadata file in *neurotic* and choose a dataset. If the data and video files aren't already on your local computer, the app can download them -for you, even from a password-protected server. Finally, click launch and the -app will use a standard viewer layout to display your data to you using -ephyviewer_. +for you, even from a password-protected server or from Google Drive. Finally, +click launch and the app will use a standard viewer layout to display your data +to you using ephyviewer_. |Example screenshot| @@ -76,12 +76,12 @@ Electrophysiologists will find this tool useful even if they don't need the video synchronization feature! **Portability is easy with neurotic!** Use relative paths in your metadata file -along with a remotely accessible data store such as GIN_ to make your metadata -file fully portable. The same metadata file can be copied to a different -computer, and downloaded files will automatically be saved to the right place. -Data stores can be password protected and *neurotic* will prompt you for a user -name and password. This makes it easy to share the *neurotic* experience with -your colleagues! 🤪 +along with a remotely accessible data store such as GIN_ or a Shared Drive on +Google Drive to make your metadata file fully portable. The same metadata file +can be copied to a different computer, and downloaded files will automatically +be saved to the right place. Data stores can be password protected and +*neurotic* will prompt you for a user name and password. This makes it easy to +share the *neurotic* experience with your colleagues! 🤪 .. |Example screenshot| image:: _static/example-screenshot.png diff --git a/neurotic/__init__.py b/neurotic/__init__.py index a97f6b5..374aaff 100644 --- a/neurotic/__init__.py +++ b/neurotic/__init__.py @@ -89,6 +89,12 @@ def format(self, record): 'ui_scale': 'medium', 'theme': 'light', }, + 'gdrive': { + # parameters for Google Drive access + 'credentials_file': os.path.join(neurotic_dir, 'gdrive-creds', 'credentials.json'), + 'token_file': os.path.join(neurotic_dir, 'gdrive-creds', 'gdrive-token.pickle'), + 'save_token': False, + }, } # keep a copy of the original config before it is modified @@ -148,6 +154,14 @@ def update_global_config_from_file(file=global_config_file): logger.error(f'Ignoring global config file due to parsing error ({global_config_file}): {e}') +# create directories for storing Google Drive credentials and tokens if +# necessary +for file in [global_config['gdrive']['credentials_file'], + global_config['gdrive']['token_file']]: + if file and not os.path.exists(os.path.dirname(file)): + os.mkdir(os.path.dirname(file)) + + from .datasets import * from .gui import * from .scripts import * diff --git a/neurotic/datasets/__init__.py b/neurotic/datasets/__init__.py index b3df35b..242e70b 100644 --- a/neurotic/datasets/__init__.py +++ b/neurotic/datasets/__init__.py @@ -4,6 +4,7 @@ """ from ..datasets.ftpauth import * +from ..datasets.gdrive import * from ..datasets.download import * from ..datasets.metadata import * from ..datasets.data import * diff --git a/neurotic/datasets/download.py b/neurotic/datasets/download.py index 0d2c6f3..8fd5760 100644 --- a/neurotic/datasets/download.py +++ b/neurotic/datasets/download.py @@ -20,7 +20,9 @@ from tqdm.auto import tqdm from urllib.request import HTTPBasicAuthHandler, HTTPPasswordMgrWithDefaultRealm +from .. import global_config from ..datasets.ftpauth import FTPBasicAuthHandler +from ..datasets.gdrive import GoogleDriveDownloader import logging logger = logging.getLogger(__name__) @@ -34,11 +36,20 @@ _opener = urllib.request.build_opener(_http_auth_handler, _ftp_auth_handler) urllib.request.install_opener(_opener) +gdrive_downloader = GoogleDriveDownloader( + credentials_file=global_config['gdrive']['credentials_file'], + token_file=global_config['gdrive']['token_file'], + save_token=global_config['gdrive']['save_token'], +) + def download(url, local_file, overwrite_existing=False, show_progress=True, bytes_per_chunk=1024*8): """ Download a file. """ + if urllib.parse.urlparse(url).scheme == 'gdrive': + return gdrive_downloader.download(url, local_file, show_progress=show_progress, bytes_per_chunk=1024*1024*5) + if not overwrite_existing and os.path.exists(local_file): logger.info(f'Skipping {os.path.basename(local_file)} (already exists)') return @@ -82,28 +93,28 @@ def download(url, local_file, overwrite_existing=False, show_progress=True, byte if error_code == 404: # not found logger.error(f'Skipping {os.path.basename(local_file)} (not found on server)') - return + raise error elif error_code == 550: # no such file or folder, or permission denied logger.error(f'Skipping {os.path.basename(local_file)} (not found on server, or user is unauthorized)') - return + raise error elif error_code == 10060: # timeout hostname = urllib.parse.urlparse(url).hostname logger.error(f'Skipping {os.path.basename(local_file)} (timed out when connecting to {hostname})') - return + raise error elif error_code == 11001: # could not reach server or resolve hostname hostname = urllib.parse.urlparse(url).hostname logger.error(f'Skipping {os.path.basename(local_file)} (cannot connect to {hostname})') - return + raise error else: logger.error(f'Encountered a problem: {error}') - return + raise error def _download_with_progress_bar(url, local_file, show_progress=True, bytes_per_chunk=1024*8): diff --git a/neurotic/datasets/gdrive.py b/neurotic/datasets/gdrive.py new file mode 100644 index 0000000..98cae20 --- /dev/null +++ b/neurotic/datasets/gdrive.py @@ -0,0 +1,308 @@ +# -*- coding: utf-8 -*- +""" +The :mod:`neurotic.datasets.gdrive` module implements a class for downloading +files from Google Drive using paths, rather than file IDs or shareable links. + +.. autoclass:: GoogleDriveDownloader + :members: +""" + +import os +import shutil +import json +import pickle +import urllib +from functools import reduce +from tqdm.auto import tqdm +from googleapiclient.discovery import build +from googleapiclient.errors import HttpError +from googleapiclient.http import MediaIoBaseDownload +from google_auth_oauthlib.flow import InstalledAppFlow +from google.auth.transport.requests import Request +from google.oauth2.credentials import Credentials + +import logging +logger = logging.getLogger(__name__) + + +class GoogleDriveDownloader(): + """ + A class for downloading files from Google Drive using paths. + + Files can be specified for download using URL-like paths of the form + + gdrive:////<...>// + + The "" may be "My Drive" for files located in a personal + Google Drive, or it may be the name of a Shared Drive that the user has + permission to access. + + Note that these URL-like paths are not equivalent to ordinary URLs + associated with Google Drive files, such as shareable links, which are + composed of pseudorandom file IDs and do not reveal anything about the name + of the file or the folders containing it. + + This class can only download files that are uniquely identifiable by their + paths. Google Drive does not require file or folder names to be unique, so + two or more files or folders with identical names may coexist in a folder. + Such files and folders cannot be distinguished by their paths, so they + cannot be downloaded using this class. A download will fail while + traversing the file tree if at any step there is more than one folder or + file that matches the path. + + This class manages access authorization, optionally saving authorization + tokens to a file so that the authorization flow does not need to be + repeated in the future. + + The ``credentials_file`` should be the path to a client secrets file in + JSON format, obtained from the `Google API + Console `_. The Drive API must be + enabled for the corresponding client. + + If ``save_token=False``, the authorization flow (a request via web browser + for permission to access Google Drive) will always run the first time a new + instance of this class is used, and authorization will not persist after + the instance is destroyed. If ``save_token=True`` and a file path is + provided with ``token_file``, access/refresh tokens resulting from a + successful authorization are pickled and stored in the file, and tokens are + loaded from the file in the future, so that the authorization flow does not + need to be repeated. + """ + + def __init__(self, credentials_file, token_file=None, save_token=False): + """ + Initialize a new GoogleDriveDownloader. + """ + + self.credentials_file = credentials_file + self.token_file = token_file + self.save_token = save_token + + self._creds = None + self._service = None + + def authorize(self): + """ + Obtain tokens for reading the contents of a Google Drive account. + + If ``save_token=True``, tokens will be loaded from the ``token_file`` + if possible. If tokens cannot be restored this way, or if the loaded + tokens have expired, an authorization flow will be initiated, prompting + the user through a web browser to grant read-only privileges to the + client associated with the ``credentials_file``. When the authorization + flow completes, if ``save_token=True``, the newly created tokens will + be stored in the ``token_file`` for future use. + + This method is executed automatically when needed, but it can be called + directly to retrieve (and possibly store) tokens without initiating a + download. + """ + if not self._creds: + creds = None + + # load access and refresh tokens from a file if possible + if self.save_token and self.token_file and os.path.exists(self.token_file): + with open(self.token_file, 'rb') as token: + creds = pickle.load(token) + + if not creds or not creds.valid: + if creds and creds.expired and creds.refresh_token: + # refresh the tokens if they have expired + creds.refresh(Request()) + else: + # run the authorization flow, letting the user log in and + # grant privileges through a web browser + if not os.path.exists(self.credentials_file): + raise FileNotFoundError(f'missing Google Drive API credentials file "{self.credentials_file}"') + scopes = ['https://www.googleapis.com/auth/drive.readonly'] + flow = InstalledAppFlow.from_client_secrets_file( + self.credentials_file, scopes) + creds = flow.run_local_server(port=0) + + # save the tokens to a file so that the authorization flow can + # be skipped in the future + if self.save_token and self.token_file: + with open(self.token_file, 'wb') as token: + pickle.dump(creds, token) + + self._creds = creds + + def deauthorize(self): + """ + Forget tokens and delete the ``token_file``. The authorization flow + will be required for the next download. + """ + self._creds = None + self._service = None + if os.path.exists(self.token_file): + os.remove(self.token_file) + + def is_authorized(self): + """ + Get the current authorization state. + """ + return isinstance(self._creds, Credentials) and self._creds.valid + + def _get_service(self): + """ + Get an authorized googleapiclient Resource for executing API calls. + """ + if not self._service: + if not self.is_authorized(): + self.authorize() + self._service = build('drive', 'v3', credentials=self._creds) + return self._service + + def get_user_email(self): + """ + Get the email address for the authorized Google Drive account. + """ + results = self._get_service().about().get(fields='user(emailAddress)').execute() + email = results.get('user', {}).get('emailAddress', 'unknown email') + return email + + def download(self, gdrive_url, local_file, overwrite_existing=False, show_progress=True, bytes_per_chunk=1024*1024*5): + """ + Download a file from Google Drive using a URL-like path beginning with + "gdrive://". + """ + if not overwrite_existing and os.path.exists(local_file): + logger.info(f'Skipping {os.path.basename(local_file)} (already exists)') + return + + logger.info(f'Downloading {os.path.basename(local_file)}') + try: + self._download_with_progress_bar(gdrive_url, local_file, show_progress=show_progress, bytes_per_chunk=bytes_per_chunk) + + except HttpError as e: + + error_code = json.loads(e.args[1]).get('error', {}).get('code', None) + + if error_code == 404: + # not found + logger.error(f'Skipping {os.path.basename(local_file)} (not found on server for account "{self.get_user_email()}")') + raise + + else: + logger.error(f'Skipping {os.path.basename(local_file)} ({e})') + raise + + except Exception as e: + + logger.error(f'Skipping {os.path.basename(local_file)} ({e})') + raise + + def _download_with_progress_bar(self, gdrive_url, local_file, show_progress=True, bytes_per_chunk=1024*1024*5): + """ + Download while showing a progress bar. + """ + # TODO: bytes_per_chunk=1024*1024*100 (100 MiB) would match + # MediaIoBaseDownload's default chunk size and seems to be + # significantly faster than smaller values, suggesting chunk fetching + # incurs a large overhead. Unfortunately, such a large chunk size would + # prevent the progress bar from updating frequently. As a compromise, + # the chunk size used by this method is just 5 MiB, which is a little + # larger than is ideal for progress reporting and yet still noticeably + # slows downloads. Is there a better solution? + + # determine where to temporarily save the file during download + temp_file = local_file + '.part' + logger.debug(f'Temporarily downloading to {temp_file}') + + # create the containing directory if necessary + if not os.path.exists(os.path.dirname(local_file)): + os.makedirs(os.path.dirname(local_file)) + + # locate the Google Drive file + file_id = self._get_file_id(gdrive_url) + if file_id is None: + raise ValueError(f'error locating file on server for account "{self.get_user_email()}"') + + # knowing the file size allows progress to be displayed + file_size_in_bytes = int(self._get_service().files().get( + fileId=file_id, supportsAllDrives=True, + fields='size').execute().get('size', 0)) + + try: + with open(temp_file, 'wb') as f: + request = self._get_service().files().get_media(fileId=file_id) + downloader = MediaIoBaseDownload(f, request, chunksize=bytes_per_chunk) + with tqdm(total=file_size_in_bytes, unit='B', unit_scale=True) as pbar: + done = False + while done is False: + status, done = downloader.next_chunk() + + # set progress to the exact number of bytes downloaded so far + pbar.n = status.resumable_progress + pbar.update() + + except: + # the download is likely incomplete, so delete the temporary file + if os.path.exists(temp_file): + os.remove(temp_file) + + # raise the exception so that it can be handled elsewhere + raise + + else: + # download completed, so move the temp file to the final location + shutil.move(temp_file, local_file) + + def _get_file_id(self, gdrive_url): + """ + Retrieve the Google Drive ID for the file specified by ``gdrive_url``. + """ + # verify the url is of the right type + scheme = urllib.parse.urlparse(gdrive_url).scheme + if scheme != 'gdrive': + raise ValueError(f'gdrive_url must begin with "gdrive://": {gdrive_url}') + + # extract drive name ("My Drive" or some Shared Drive) and file path + drive_name = urllib.parse.urlparse(gdrive_url).netloc + path = urllib.parse.urlparse(gdrive_url).path + path = os.path.normpath(path).strip(os.sep).split(os.sep) + + # find the drive id from its name + if not drive_name: + raise ValueError('problem parsing drive name') + elif drive_name == 'My Drive': + drive_id = 'root' + else: + # search for all drives with a matching name + drives = self._get_service().drives().list().execute().get('drives', []) + drives = [drive for drive in drives if drive['name'] == drive_name] + + # make sure the drive is unique + if len(drives) == 0: + raise ValueError(f'drive "{drive_name}" not found on server for account "{self.get_user_email()}"') + elif len(drives) > 1: + raise ValueError(f'ambigous path, multiple drives with name "{drive_name}" exist on server for account "{self.get_user_email()}"') + else: + drive_id = drives[0]['id'] + + # find the file id from its path by starting at the drive root and + # recursively searching for the id of the next folder in the path + file_id = reduce(self._get_child_id, path, drive_id) + + return file_id + + def _get_child_id(self, parent_id, child_name): + """ + Retrieve the Google Drive ID for the file or folder named + ``child_name`` located in a folder or drive with ID ``parent_id``. + """ + # search for all files with a matching name and parent id + items = self._get_service().files().list( + supportsAllDrives=True, includeItemsFromAllDrives=True, + q=f'name="{child_name}" and "{parent_id}" in parents and trashed=false', + fields="nextPageToken, files(id)").execute().get('files', []) + + # make sure the file is unique + if len(items) == 0: + raise ValueError(f'file or folder "{child_name}" not found on server for account "{self.get_user_email()}"') + elif len(items) > 1: + raise ValueError(f'ambiguous path, multiple files or folders with the name "{child_name}" exist under their parent folder on server for account "{self.get_user_email()}"') + else: + child_id = items[0]['id'] + + return child_id diff --git a/neurotic/global_config_template.txt b/neurotic/global_config_template.txt index 8366b0a..755c11c 100644 --- a/neurotic/global_config_template.txt +++ b/neurotic/global_config_template.txt @@ -2,6 +2,7 @@ # Use this file to configure the way neurotic behaves. This file uses the TOML # format. + [defaults] # When the app is launched, the following customizable defaults are used unless # overridden by command line arguments. Example uses include: @@ -23,3 +24,18 @@ # show_datetime = false # ui_scale = "medium" # theme = "light" + + +[gdrive] +# The "save_token" parameter controls how often you need to authorize neurotic +# to access your Google Drive account for downloads: +# - Set "save_token" to true to remember Google Drive access tokens after +# authorization, so that permissions only need to be granted once. This is +# not recommended if others you do not trust have access to this computer, +# as it could let them download files from your Google Drive account. +# - Set "save_token" to false or leave it commented to forget access +# authorization after neurotic closes. Each time you restart neurotic, you +# will be required to re-grant permissions when you download a Google Drive +# file. + +# save_token = false diff --git a/neurotic/gui/standalone.py b/neurotic/gui/standalone.py index 72841fd..ffc0c39 100644 --- a/neurotic/gui/standalone.py +++ b/neurotic/gui/standalone.py @@ -18,7 +18,7 @@ import neo from ephyviewer import QT, QT_MODE -from .. import __version__, _elephant_tools, global_config_file, default_log_level, log_file +from .. import __version__, _elephant_tools, global_config, global_config_file, default_log_level, log_file, gdrive_downloader from ..datasets import MetadataSelector, load_dataset from ..datasets.metadata import _selector_labels from ..gui.config import EphyviewerConfigurator, available_themes, available_ui_scales @@ -272,6 +272,17 @@ def create_menus(self): help_menu.addSeparator() + do_open_gdrive_creds_dir = help_menu.addAction('Open Google Drive credentials directory') + do_open_gdrive_creds_dir.triggered.connect(self.open_gdrive_creds_dir) + + do_authorize_gdrive = help_menu.addAction('Request Google Drive authorization now') + do_authorize_gdrive.triggered.connect(self.authorize_gdrive) + + do_deauthorize_gdrive = help_menu.addAction('Purge Google Drive authorization token') + do_deauthorize_gdrive.triggered.connect(self.deauthorize_gdrive) + + help_menu.addSeparator() + do_show_check_for_updates = help_menu.addAction('Check for updates') do_show_check_for_updates.triggered.connect(self.show_check_for_updates) @@ -328,7 +339,6 @@ def edit_metadata(self): logger.error(f'The metadata file was not found: {e}') self.statusBar().showMessage('ERROR: The metadata file could not ' 'be found', msecs=5000) - return def download_files(self): """ @@ -342,7 +352,7 @@ def download_files(self): self.statusBar().showMessage('Starting downloads (see console window)', msecs=5000) - def on_download_finished(self): + def on_download_finished(self, success): """ Cleanup download thread and reload the metadata list content to update file indicators. @@ -352,7 +362,12 @@ def on_download_finished(self): self.metadata_selector.load() self.do_download_data.setText('&Download data') self.do_download_data.setEnabled(True) - self.statusBar().showMessage('Downloads complete', msecs=5000) + + if success: + self.statusBar().showMessage('Downloads complete', msecs=5000) + else: + self.statusBar().showMessage('ERROR: Download failed (see console ' + 'for details)', msecs=5000) def open_directory(self): """ @@ -473,7 +488,75 @@ def view_log_file(self): logger.error(f'The log file was not found: {e}') self.statusBar().showMessage('ERROR: The log file could not be ' 'found', msecs=5000) - return + + def open_gdrive_creds_dir(self): + """ + Open the Google Drive credentials directory. + """ + + gdrive_creds_dir = os.path.dirname(global_config['gdrive']['credentials_file']) + try: + open_path_with_default_program(gdrive_creds_dir) + except FileNotFoundError as e: + logger.error(f'Could not open Google Drive credentials directory: ' + f'{e}') + self.statusBar().showMessage('ERROR: Could not open Google Drive ' + 'credentials directory', msecs=5000) + + def authorize_gdrive(self): + """ + Trigger the Google Drive authorization flow if necessary. + """ + if gdrive_downloader.is_authorized() or os.path.exists(global_config['gdrive']['token_file']): + # already authorized + logger.info('Already authorized to access Google Drive for ' + f'{gdrive_downloader.get_user_email()}') + self.statusBar().showMessage('Google Drive authorization already ' + 'complete for ' + f'{gdrive_downloader.get_user_email()}', + msecs=5000) + + elif not os.path.exists(global_config['gdrive']['credentials_file']): + # missing credentials file + logger.error('Google Drive authorization could not begin due to ' + 'missing credentials file') + self.statusBar().showMessage('ERROR: Missing credentials file', + msecs=5000) + + else: + title = 'Continue with authorization?' + text = 'Completing this process will allow neurotic to ' \ + 'download files from your Google Drive. A web browser ' \ + 'will open so that you can log into your Google account ' \ + 'and accept the request for permissions. neurotic ' \ + 'will be unresponsive until this process finishes.' \ + '

Do you want to continue?' + button = QT.QMessageBox.question(self, title, text, + defaultButton=QT.QMessageBox.Yes) + if button == QT.QMessageBox.Yes: + logger.info(f'Initiating Google Drive authorization flow') + self.statusBar().showMessage('Check web browser to continue ' + 'authorization', msecs=5000) + try: + gdrive_downloader.authorize() + except Exception as e: + logger.error(f'Problem during authorization: {e}') + self.statusBar().showMessage('ERROR: Authorization failed ' + '(see console for details)', + msecs=5000) + else: + logger.info(f'Authorization complete') + self.statusBar().showMessage('Authorization complete', + msecs=5000) + + def deauthorize_gdrive(self): + """ + Forget Google Drive access tokens and delete the token file. + """ + gdrive_downloader.deauthorize() + logger.info(f'Purged Google Drive authorization token') + self.statusBar().showMessage('Purged Google Drive authorization token', + msecs=5000) def show_check_for_updates(self): """ @@ -550,6 +633,8 @@ def show_about(self): urls['GitHub user'] = 'https://github.com/jpgill86' urls['PyPI'] = 'https://pypi.org/project/neurotic' + gdrive_creds_dir = os.path.dirname(global_config['gdrive']['credentials_file']) + text = f"""

neurotic {__version__}

@@ -574,6 +659,8 @@ def show_about(self):

Install path: {os.path.dirname(os.path.dirname(__file__))}

+ +

Google Drive credentials directory: {gdrive_creds_dir}

""" QT.QMessageBox.about(self, title, text) @@ -706,7 +793,7 @@ class _DownloadWorker(QT.QObject): A thread worker for downloading data files. """ - download_finished = QT.pyqtSignal() + download_finished = QT.pyqtSignal(bool) def __init__(self, mainwindow): """ @@ -722,8 +809,14 @@ def download(self): Download all files and emit a signal when complete. """ - self.mainwindow.metadata_selector.download_all_data_files() - self.download_finished.emit() + success = False + try: + self.mainwindow.metadata_selector.download_all_data_files() + success = True + except: + pass + finally: + self.download_finished.emit(success) class _LoadDatasetWorker(QT.QObject): diff --git a/requirements.txt b/requirements.txt index ecbc119..ee5a2b5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,7 @@ # av # required but typically not installable via pip, try `conda install -c conda-forge av` ephyviewer>=1.3.0 +google-api-python-client +google-auth-oauthlib neo>=0.7.2 numpy packaging