Skip to content
This repository has been archived by the owner on Sep 1, 2019. It is now read-only.

Progress bars don't show after v1.39 update #121

Open
whitesnakeftw opened this issue Aug 2, 2018 · 8 comments
Open

Progress bars don't show after v1.39 update #121

whitesnakeftw opened this issue Aug 2, 2018 · 8 comments

Comments

@whitesnakeftw
Copy link

Same exact config: with 1.39 or later progress bars don't show. 1.38 is the latest rclone version that makes rcloneBrowser show bars.

Checking "verbose output" doesn't seem to make a difference.

@nothinglastsforever
Copy link

+1 to this, though for me size, bandwidth, elapsed time, transferred, errors & checks don't populate at all.

@jeff15110168
Copy link

having same issue here.

@Rhilip
Copy link

Rhilip commented Oct 21, 2018

+1 to this, only progress bars of Elapsed time and Errors shows When I update my rclone to the lastest rclone v1.44.

@noabody
Copy link

noabody commented Dec 11, 2018

Is it related to this?:
Upload progress blank? #117

Try using rclone from the command line and you'll note that there is no progress at all without the -P option.

       Note: Use the -P/--progress flag to view real-time transfer statistics
              rclone copy source:path dest:path [flags]

You can test the regex in src/job_widget.cpp against a standard pcre perl expression like so (e.g. rclone 1.45):

echo 'Transferred:       31.996M / 96.757 MBytes, 33%, 726.048 kBytes/s, ETA 1m31s' | perl -pe 's|^Transferred:\s+([0-9.]+)(\S)? \/ (\S+) (\S+), ([0-9%-]+), (\S+ \S+), (\S+) (\S+)$|\1 \2 \6|'
echo 'Errors:                 0' | perl -pe 's|^Errors:\s+(\S+)$|\1|'
echo 'Checks:                 0 / 0, -' | perl -pe 's|^Checks:\s+(\S+) \/ (\S+), [0-9%-]+$|\1|'
echo 'Transferred:            0 / 1, 0%' | perl -pe 's|^Transferred:\s+(\S+) \/ (\S+), [0-9%-]+$|\1|'
echo 'Elapsed time:       45.1s' | perl -pe 's|^Elapsed time:\s+(\S+)$|\1|'
echo ' *     myfile: 33% /96.757M, 1.937M/s, 33s' | perl -pe 's|\*([^:]+):\s*([^%]+)% \/[a-zA-z0-9.]+, [a-zA-z0-9.]+\/s, (\w+)$|\1|'

That's with the 1.43+ patterns defined by Handle changed progress output of Rclone 1.43.

Run rclone from a shell and copy/paste the output then apply the regex as noted in that file:

        QRegExp rxSize(R"(^Transferred:\s+(\S+ \S+) \(([^)]+)\)$)");  // Until rclone 1.42
        QRegExp rxSize2(R"(^Transferred:\s+([0-9.]+)(\S)? \/ (\S+) (\S+), ([0-9%-]+), (\S+ \S+), (\S+) (\S+)$)"); // Starting with rclone 1.43
        QRegExp rxErrors(R"(^Errors:\s+(\S+)$)");
        QRegExp rxChecks(R"(^Checks:\s+(\S+)$)"); // Until rclone 1.42
        QRegExp rxChecks2(R"(^Checks:\s+(\S+) \/ (\S+), [0-9%-]+$)"); // Starting with rclone 1.43
        QRegExp rxTransferred(R"(^Transferred:\s+(\S+)$)"); // Until rclone 1.42
        QRegExp rxTransferred2(R"(^Transferred:\s+(\S+) \/ (\S+), [0-9%-]+$)"); // Starting with rclone 1.43
        QRegExp rxTime(R"(^Elapsed time:\s+(\S+)$)");
        QRegExp rxProgress(R"(^\*([^:]+):\s*([^%]+)% done.+(ETA: [^)]+)$)"); // Until rclone 1.38
        QRegExp rxProgress2(R"(\*([^:]+):\s*([^%]+)% \/[a-zA-z0-9.]+, [a-zA-z0-9.]+\/s, (\w+)$)"); // Starting with rclone 1.39
            if (rxSize.exactMatch(line))
            {
                ui.size->setText(rxSize.cap(1));
                ui.bandwidth->setText(rxSize.cap(2));
            }
            else if (rxSize2.exactMatch(line))
            {
                ui.size->setText(rxSize2.cap(1) + " " + rxSize2.cap(2) + "Bytes");
                ui.bandwidth->setText(rxSize2.cap(6));
            }
            else if (rxErrors.exactMatch(line))
            {
                ui.errors->setText(rxErrors.cap(1));
            }
            else if (rxChecks.exactMatch(line))
            {
                ui.checks->setText(rxChecks.cap(1));
            }
            else if (rxChecks2.exactMatch(line))
            {
                ui.checks->setText(rxChecks2.cap(1));
            }
            else if (rxTransferred.exactMatch(line))
            {
                ui.transferred->setText(rxTransferred.cap(1));
            }
            else if (rxTransferred2.exactMatch(line))
            {
                ui.transferred->setText(rxTransferred2.cap(1));
            }
            else if (rxTime.exactMatch(line))
            {
                ui.elapsed->setText(rxTime.cap(1));
            }
            else if (rxProgress.exactMatch(line))
            {

The first part shows the regex and the second grabs the specified capture groups. Seems like they're mostly just the one.

@noabody
Copy link

noabody commented Dec 11, 2018

I'm building from these repos and the dialogs work okay for my use case:
nce/rclone
JanHellwig/RcloneBrowser

@Rhilip
Copy link

Rhilip commented Dec 13, 2018

@noabody Your are so great , and I hope your can release your build or pull requests so I can use it since I don't have CMAKE environment in my Windows system.
On the other hands , Is it a good idea to get rclone version by using rcloneGetVersion() (

void rcloneGetVersion();
) and then make different regexp?

@noabody
Copy link

noabody commented Dec 13, 2018

@kapitainsky
Copy link

As this repo is dead for so long I did some DIY combining various enhancements and fixes together and released binaries for macOS, Win64 and Linux64. If anybody is interested give it a try - https://github.com/kapitainsky/RcloneBrowser/releases

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants