Index: Makefile =================================================================== --- Makefile (revision 534203) +++ Makefile (working copy) @@ -1,7 +1,7 @@ # $FreeBSD$ PORTNAME= rapid-photo-downloader -DISTVERSION= 0.9.23 +DISTVERSION= 0.9.24 CATEGORIES= graphics MASTER_SITES= https://launchpad.net/rapid/pyqt/${PORTVERSION}/+download/ Index: distinfo =================================================================== --- distinfo (revision 534203) +++ distinfo (working copy) @@ -1,3 +1,3 @@ -TIMESTAMP = 1587355599 -SHA256 (rapid-photo-downloader-0.9.23.tar.gz) = 2bfe30e237803870486ee5e79e482529da4c592930e48d1ba20c03f36f6719f4 -SIZE (rapid-photo-downloader-0.9.23.tar.gz) = 8101336 +TIMESTAMP = 1588794721 +SHA256 (rapid-photo-downloader-0.9.24.tar.gz) = 66b9482c9212043b519416982dacd734f8d05c285eb8d7e3ee3f0d7a29068590 +SIZE (rapid-photo-downloader-0.9.24.tar.gz) = 8150727 Index: files/patch-raphodo_rapid.py =================================================================== --- files/patch-raphodo_rapid.py (revision 534203) +++ files/patch-raphodo_rapid.py (working copy) @@ -1,6 +1,6 @@ ---- raphodo/rapid.py.orig 2020-04-17 01:22:23 UTC +--- raphodo/rapid.py.orig 2020-05-03 17:31:45 UTC +++ raphodo/rapid.py -@@ -96,7 +96,7 @@ from PyQt5.QtNetwork import QLocalSocket, QLocalServer +@@ -97,7 +97,7 @@ from PyQt5.QtNetwork import QLocalSocket, QLocalServer import sip from raphodo.storage import ( @@ -9,31 +9,7 @@ has_one_or_more_folders, mountPaths, get_desktop_environment, get_desktop, gvfs_controls_mounts, get_default_file_manager, validate_download_folder, validate_source_folder, get_fdo_cache_thumb_base_directory, WatchDownloadDirs, get_media_dir, -@@ -609,12 +609,12 @@ class RapidWindow(QMainWindow): - self.prefs.backup_files = backup - else: - logging.info("Backing up files: %s", self.prefs.backup_files) -- -+ - if backup_auto_detect is not None: - self.prefs.backup_device_autodetection = backup_auto_detect - elif self.prefs.backup_files: - logging.info("Backup device auto detection: %s", self.prefs.backup_device_autodetection) -- -+ - if photo_backup_identifier is not None: - self.prefs.photo_backup_identifier = photo_backup_identifier - elif self.prefs.backup_files and self.prefs.backup_device_autodetection: -@@ -624,7 +624,7 @@ class RapidWindow(QMainWindow): - self.prefs.video_backup_identifier = video_backup_identifier - elif self.prefs.backup_files and self.prefs.backup_device_autodetection: - logging.info("video backup identifier: %s", self.prefs.video_backup_identifier) -- -+ - if photo_backup_location is not None: - self.prefs.backup_photo_location = photo_backup_location - elif self.prefs.backup_files and not self.prefs.backup_device_autodetection: -@@ -939,18 +939,6 @@ class RapidWindow(QMainWindow): +@@ -945,18 +945,6 @@ class RapidWindow(QMainWindow): logging.debug("Starting camera hotplug monitor...") QTimer.singleShot(0, self.cameraHotplugThread.start) @@ -52,41 +28,7 @@ if self.gvfsControlsMounts: # Gio.VolumeMonitor must be in the main thread, according to # Gnome documentation -@@ -2189,7 +2177,7 @@ class RapidWindow(QMainWindow): - select_text=_('Select a destination folder') - ) - self.photoDestination.addWidget(self.photoDestinationWidget) -- -+ - self.videoDestinationDisplay = DestinationDisplay( - menu=True, file_type=FileType.video, parent=self - ) -@@ -2655,11 +2643,11 @@ class RapidWindow(QMainWindow): - - body = _( - r"""Please report the problem at {website}.

-- Include in your bug report the program's log files. The bug report must include -- {log_file}, but attaching the other log files is often helpful.

-+ Include in your bug report the program's log files. The bug report must include -+ {log_file}, but attaching the other log files is often helpful.

- If possible, please also include the program's configuration file -- {config_file}.

-- Click here to open the log directory, and -+ {config_file}.

-+ Click here to open the log directory, and - here to open the configuration directory. - """ - ).format( -@@ -2695,7 +2683,7 @@ class RapidWindow(QMainWindow): - - :param message: the text to display - :param rich_text: whether it text to display is in HTML format -- :param title: optional title for message box, else defaults to -+ :param title: optional title for message box, else defaults to - localized 'Rapid Photo Downloader' - :return: the message box - """ -@@ -4766,8 +4754,6 @@ Do you want to proceed with the download? +@@ -4748,8 +4736,6 @@ Do you want to proceed with the download? self.sendTerminateToThread(self.backup_controller) if not self.gvfsControlsMounts: @@ -95,46 +37,3 @@ self.cameraHotplugThread.quit() self.cameraHotplugThread.wait() else: -@@ -5384,7 +5370,7 @@ Do you want to proceed with the download? - After a preference change, rescan already scanned devices - :param ignore_cameras: if True, don't rescan cameras - :param rescan_path: if True, include manually specified paths -- (i.e. This Computer) -+ (i.e. This Computer) - """ - - if rescan_path: -@@ -6499,7 +6485,7 @@ def main(): - logger = iplogging.setup_main_process_logging(logging_level=logging_level) - - logging.info("Rapid Photo Downloader is starting") -- -+ - if args.photo_renaming: - photo_rename = args.photo_renaming == 'on' - if photo_rename: -@@ -6508,7 +6494,7 @@ def main(): - logging.info("Photo renaming turned off from command line") - else: - photo_rename = None -- -+ - if args.video_renaming: - video_rename = args.video_renaming == 'on' - if video_rename: -@@ -6569,13 +6555,13 @@ def main(): - logging.info("This Computer path set from command line: %s", this_computer_location) - else: - this_computer_location=None -- -+ - if args.photo_location: - photo_location = os.path.abspath(args.photo_location) - logging.info("Photo location set from command line: %s", photo_location) - else: - photo_location=None -- -+ - if args.video_location: - video_location = os.path.abspath(args.video_location) - logging.info("video location set from command line: %s", video_location) Index: files/patch-raphodo_storage.py =================================================================== --- files/patch-raphodo_storage.py (revision 534203) +++ files/patch-raphodo_storage.py (working copy) @@ -1,6 +1,6 @@ ---- raphodo/storage.py.orig 2020-04-17 01:22:23 UTC +--- raphodo/storage.py.orig 2020-05-03 17:31:45 UTC +++ raphodo/storage.py -@@ -68,10 +68,9 @@ import xdg +@@ -69,10 +69,9 @@ import xdg import gi gi.require_version('GUdev', '1.0') @@ -12,7 +12,7 @@ -@@ -170,7 +169,7 @@ def get_media_dir() -> str: +@@ -181,7 +180,7 @@ def get_media_dir() -> str: """ @@ -21,7 +21,7 @@ media_dir = '/media/{}'.format(get_user_name()) run_media_dir = '/run/media' distro = get_distro() -@@ -278,7 +277,7 @@ class ValidMounts(): +@@ -289,7 +288,7 @@ class ValidMounts(): self.validMountFolders, e.g. /media/, etc. """ @@ -30,7 +30,7 @@ raise ("Mounts.setValidMountPoints() not implemented on %s", sys.platform()) else: try: -@@ -649,7 +648,7 @@ def get_default_file_manager() -> Tuple[Optional[str], +@@ -660,7 +659,7 @@ def get_default_file_manager() -> Tuple[Optional[str], _default_file_manager_probed = True @@ -39,19 +39,12 @@ cmd = shlex.split('xdg-mime query default inode/directory') try: desktop_file = subprocess.check_output(cmd, universal_newlines=True) # type: str -@@ -794,7 +793,7 @@ def validate_download_folder(path: Optional[str], - - :param path: path to analyze - :param write_on_waccesss_failure: if os.access reports path is not writable, test -- nonetheless to see if it's writable by writing and deleting a test file -+ nonetheless to see if it's writable by writing and deleting a test file - :return: Tuple indicating validity and path made absolute - - >>> validate_download_folder('/some/bogus/and/ridiculous/path') -@@ -1041,259 +1040,6 @@ class CameraHotplug(QObject): +@@ -1064,259 +1063,6 @@ class CameraHotplug(QObject): + if emit_remove: + logging.info("Hotplug: %s has been removed", name) self.cameraRemoved.emit() - - +- +- -class UDisks2Monitor(QObject): - # Most of this class is Copyright 2008-2015 Canonical - @@ -303,17 +296,6 @@ - logging.exception('Traceback:') - - self.partitionUnmounted.emit(mount_point) -- -- + + if have_gio: - class GVolumeMonitor(QObject): - r""" -@@ -1692,7 +1438,7 @@ def get_mount_size(mount: QStorageInfo) -> Tuple[int, - """ - Uses GIO to get bytes total and bytes free (available) for the mount that a - path is in. -- -+ - :param path: path located anywhere in the mount - :return: bytes_total, bytes_free - """ Index: files/patch-raphodo_utilities.py =================================================================== --- files/patch-raphodo_utilities.py (revision 534203) +++ files/patch-raphodo_utilities.py (working copy) @@ -1,6 +1,6 @@ ---- raphodo/utilities.py.orig 2020-04-17 01:22:23 UTC +--- raphodo/utilities.py.orig 2020-05-03 17:31:45 UTC +++ raphodo/utilities.py -@@ -82,10 +82,11 @@ if arrow_version >= parse_version('0.14.3') and arrow_ +@@ -83,10 +83,11 @@ if arrow_version >= parse_version('0.14.3') and arrow_ # Linux specific code to ensure child processes exit when parent dies # See http://stackoverflow.com/questions/19447603/ # how-to-kill-a-python-child-process-created-with-subprocess-check-output-when-t/ @@ -14,49 +14,3 @@ return callable -@@ -201,8 +202,8 @@ def show_errors(): - # kilobytes, etc. - suffixes = [_('B'), _('KB'), _('MB'), _('GB'), _('TB'), _('PB'), _('EB'), _('ZB'), _('YB')] - --def format_size_for_user(size_in_bytes: int, -- zero_string: str='', -+def format_size_for_user(size_in_bytes: int, -+ zero_string: str='', - no_decimals: int=2) -> str: - r""" - Humanize display of bytes. -@@ -388,12 +389,12 @@ def find_mount_point(path: str) -> str: - Find the mount point of a path - See: - http://stackoverflow.com/questions/4453602/how-to-find-the-mountpoint-a-file-resides-on -- -+ - >>> print(find_mount_point('/crazy/path')) - / -- -- :param path: -- :return: -+ -+ :param path: -+ :return: - """ - path = os.path.realpath(path) - while not os.path.ismount(path): -@@ -743,13 +744,13 @@ def _collect_duplicates(basenames, paths): - - def make_path_end_snippets_unique(*paths) -> List[str]: - r""" -- Make list of path ends unique given possible common path endings. -- -- A snippet starts from the end of the path, in extreme cases possibly up the path start. -+ Make list of path ends unique given possible common path endings. - -+ A snippet starts from the end of the path, in extreme cases possibly up the path start. -+ - :param paths: sequence of paths to generate unique end snippets for - :return: list of unique snippets -- -+ - >>> p0 = '/home/damon/photos' - >>> p1 = '/media/damon/backup1/photos' - >>> p2 = '/media/damon/backup2/photos' Index: files/patch-setup.py =================================================================== --- files/patch-setup.py (revision 534203) +++ files/patch-setup.py (working copy) @@ -1,4 +1,4 @@ ---- setup.py.orig 2020-04-17 01:22:23 UTC +--- setup.py.orig 2020-05-03 17:31:45 UTC +++ setup.py @@ -271,7 +271,6 @@ setup( 'scandir;python_version<"3.5"',