Rapid Photo Downloader 0.9.29 is released

“It is a cliche in our business that the first 90 percent of the work is easy, the second 90 percent wears you down, and the last 90 percent — the attention to detail — makes a good product.” Ron Avitzur, The Graphing Calculator Story

Version 0.9.29 (download link) has many changes compared to version 0.9.28. The most important changes arise from issues pointed out in the survey. Not all suggestions from the survey were able to be implemented due to lack of time. A list of improvements highlighted by the survey that still need to be implemented can be found here, with more to be added in the coming weeks as I work through the survey results.

The install script makes some meaningful changes too. These changes mean that running the in-place upgrade is not appropriate.

Please report any problems as soon as practical. My hope is that this version or 0.9.30 will make it into Ubuntu 22.04.

  • Fix bug #53: Adapt to small screens. Rapid Photo Downloader can now be resized to fit to
    tiny screens. Part of the fix involves changes in the ways the download
    sources (Devices and This Computer) and the Timeline are placed in the
    left-side of the user interface. When a scroll bar is necessary to fit in
    these interface elements, a single scroll bar will now extend from the
    Devices to the Timeline. When you scroll down to view the entirety of the
    Timeline, if the Timeline is big enough the download sources will scroll up
    out of sight.

  • Change the button to synchronize scrolling between the Timeline and
    thumbnails to a double arrow. It now changes color to reflect its state. The
    button’s behavior is described in the documentation.

  • Make the Timeline remember its position when the time elapsed between
    consecutive shots is changed using the slider.

  • Make the user interface look cleaner and more consistent, especially
    regarding scrollbars and frames.

  • Enforce the use of the Qt 5 Fusion theme. Some Linux distribution Qt 5
    themes can make the program’s user interface look bad because of differing
    assumptions about design elements like scroll bars and frames. If you want
    to use your system’s theme, use the command line option
    --force-system-theme.

  • Fix bug where various user interface elements would effectively be invisible
    when the system theme is dark, also known as “dark mode”. Please note
    dark mode will likely work in the program only if the PyQt5 package
    provided by your Linux distribution is being used.

  • Fix bugs #61, #58, and #1958892: setuptools >= 60.0 failing. Some versions of setuptools >= 60.0 can fail on many if not all Linux distributions. The install.py script now uninstalls
    versions of pip, setuptools and wheel that were installed with pip if the
    versions provided by the Linux distribution are new enough. If the versions
    provided are too old to be fully functional, pip and wheel are updated,
    and setuptools is upgraded to a version < 60.0.

  • Fix bug #64: Warning dialog fails to appear when iOS device utility applications are
    missing, causing a crash when an iOS device is inserted.

  • Fix bug #56: Compress bug report tars using gzip, facilitating upload to GitHub issues.
    GitHub does not accept .tar files. It does accept .tar.gz files.

  • Fix bug #43: Add preference to handle time zone and daylight savings changes. See the
    program documentation
    for details about what this change is and why it is needed.

  • Fix bug #47: Thumbnail generation overwrites Job Code applied to files before thumbnails are generated.

  • Fix bug #55: Updated sequence numbers not used when changed in user interface between file downloads.

  • Add preference option to automatically mount devices not already
    automatically mounted. This new option is on by default. The program already
    did this on KDE, but it could not be turned off. It can now be turned off.
    Regardless of the Linux desktop used, leaving it on is helpful for when the
    operating system does not automatically mount devices like memory cards
    itself. A desktop like KDE can choose to not automatically mount devices, for
    instance. Meanwhile, sometimes Linux desktop code contains bugs that results
    in devices failing to mount even when they were supposed to.

  • Fix bug to properly size thumbnails and hamburger menu on high DPI screens
    with recent releases of Gnome and other desktops that use xsettings.

  • Correctly check latest available PyQt5 package version on Fedora and CentOS.

  • Drop support for CentOS 7.5.

  • Remove dependency on fuse in install.py script due to emerging introduction
    of the fuse3 package. In almost all circumstances, the ifuse package should
    correctly specify the correct version of fuse to depend on, making the
    explicit declaration of fuse as a dependency in the install.py script wrong.

  • Fix bug to correctly display the number of files available for download after
    some files have been manually marked as already downloaded.

  • Update Albanian, Catalan, Dutch, Hungarian, Italian, Japanese, Russian,
    Spanish, Swedish and Turkish translations.

8 Likes

@damonlynch

Cannot install latest version 0.9.29, first i’ve uninstalled 0.9.28 and this is what i did next:

I installed darktable 3.8.1 which requires libexiv2-27.
I got it from: https://download.opensuse.org/repositories/graphics:/darktable/xUbuntu_20.04/amd64/libexiv2-27_0.27.5-3.1_amd64.
darktable is running as it should.

then next steps:

python3 install.py
Found Linux distributions Linux Mint 20.3
Downloading https://launchpad.net/rapid/pyqt/0.9.29/+download/rapid-photo-downloader-0.9.29.tar.gz (8.5 MB)
0% [##############################] 100% | ETA: 00:00:00
Total time elapsed: 00:00:00

Determining most appropriate PyQt5 package…
…will use PyQt5 packaged by Linux Mint 20.3.

Checking the package system to see if a previous installed version of Rapid Photo Downloader is installed (may take a while…)
Checking if the previous version was installed via pip…
To proceed, certain required packages will be installed.

The following command will be executed:

sudo /usr/bin/apt-get -y install exiv2

sudo may ask you for your sudo password.

[sudo] password for eric:
Package lists are being read… Ready
Tree of requirements is being built
Status information is being read… Ready
Some packages could not be installed. This may mean
that you have asked for an impossible situation, or, if you are
used the ‘unstable’ distribution, that some required packages have yet to be created or were removed from ‘Incoming’.
The following information might help to resolve the situation:

The following packages have unfulfilled requirements:
exiv2 : Requirements: libexiv2-27 (= 0.27.2-8ubuntu2.7) but 0.27.5-3.1 will be installed
E: Unable to resolve issues, you are holding defective packages.
Command failed
Exit

Greets, Eric.

apt is doing the right thing here, saving you from serious problems. You’ll need to install exiv2 from the same source you installed the newer version of libexiv2, and theoretically at least it should work. That’s assuming, of course, that it’s been packaged correctly.

Ah ok, thanks. Will see how to find this out…

I had installed the single .deb files for darktable and libexiv2-27 which resulted in exiv2 not having the correct version.
Now I added the installation source from opensuse.org for both darktable and libexiv2-27 and now I could install exiv2 0.27.5-3.1, and rapid photo downloader.
Everything is working 100%.
Thanks, … Eric.

Great. That is how you work with your packager manager, instead of against it.