Commit Graph

357 Commits

Author SHA1 Message Date
meejah
1549e7eb18 simplify (for line in f.readlines() -> for line in f) 2020-05-06 15:16:34 -06:00
meejah
4c3d0ea6cc use 'with open' for more file-opens 2020-05-04 21:59:15 -06:00
Jean-Paul Calderone
ef73e18f3d
Remove the greater part of the implementation 2020-02-13 10:43:50 -05:00
tpltnt
c8f11dc2d3 ported old-style classes to new-style 2019-05-26 08:28:18 +02:00
heartsucker
a087a5be72
removed tuple unpacking in function definitons for python3 compatibility 2019-04-18 13:37:18 +02:00
heartsucker
0750dbac38
updated all python files to use pep-3110 exception syntax for python3 compatibility 2019-04-04 11:57:58 +02:00
heartsucker
f4ff91a6c1
updated python2 long numeric literals for python3 compatibility 2019-04-03 10:04:02 +02:00
heartsucker
d8187a0f6a
Merge pull request #589 from tahoe-lafs/3015-octal-numeric-literals
updated instances of octal literals to use the format 0o123 for python3 compatibility
2019-03-31 11:24:39 +02:00
heartsucker
129ef22185
updated instances of octal literals to use the format 0o123 for python3 compatibility 2019-03-29 11:08:44 +01:00
Jean-Paul Calderone
53b40ef0e0 don't double start; don't try to handle double start. 2019-03-28 16:10:36 -04:00
Jean-Paul Calderone
ae2be27e3a Merge remote-tracking branch 'origin/master' into 2995.remove-unnecessary-key-copying 2019-03-19 12:09:35 -04:00
Jean-Paul Calderone
4860d16401 Update the comment to reflect the updated implementation 2019-03-18 19:22:38 -04:00
Jean-Paul Calderone
20ba53f586 reflow for changed indentation level 2019-03-18 19:21:05 -04:00
Jean-Paul Calderone
55690bf639 Do it without a new flag
This is safer against other conditions where _deque ends up with items when we
start a scan - for example, if we chunk up deque processing.
2019-03-18 15:38:18 -04:00
Jean-Paul Calderone
d1a62b1c99 Attempt to avoid the startup double-scan and related problems 2019-03-18 14:24:34 -04:00
Jean-Paul Calderone
c01c85522d Use the method
There is a method.  Why not use it?
2019-03-18 14:18:09 -04:00
Jean-Paul Calderone
fda3d38c85 Avoid the extra dict lookup in the loop
Get the info at iteration time
2019-03-14 13:11:47 -04:00
Jean-Paul Calderone
dd7cb99ef4 Avoid another .keys() call 2019-03-14 13:11:47 -04:00
Jean-Paul Calderone
c83749311f Avoid some function dispatch overhead
Also, we might avoid some dict lookup overhead by being optimistic about
finding the entry.  At worst, we do two lookups - which is just what we did
before.
2019-03-14 13:11:47 -04:00
Jean-Paul Calderone
05eab3ce19 document these things since I had to figure them out 2019-03-14 13:11:47 -04:00
Jean-Paul Calderone
d504ad118f Avoid the extra lookup inside this loop
Get the key and value at the same time during iteration.
2019-03-14 13:11:47 -04:00
Jean-Paul Calderone
0e1bc2e786 As for the previous commit. 2019-03-14 13:11:47 -04:00
Jean-Paul Calderone
62cb883ca2 Just iterate over the dictionary.
It is not shared with anyone.  It is not mutated inside the loop.  We can use
the no-copy dict iterator.
2019-03-14 13:11:47 -04:00
Jean-Paul Calderone
e0c240a559 Use a MessageType so we can have a serializer
This allows us to avoid the .keys() call if logging is not actually enabled,
the common case.
2019-03-14 13:11:47 -04:00
Jean-Paul Calderone
dfd0c6e54c fix "downloader" type in message type 2019-03-14 11:26:06 -04:00
Jean-Paul Calderone
fef79cd4a3 re-use the _add_watch helper 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
64826aee37 Clean up stdout a bit 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
263755fb26 Watch before we start.
Linux and macOS are happy to watch after starting.  Our Windows support
library can't deal with such a case, though.

Linux is happy with the other order.  I'm about to find out if macOS is.

There are likely further Windows issues to deal with.
2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
c5c7f954e9 fix it! 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
c2e19cc098 fix a raft of directory handling issues 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
4b0b269b56 Perform the asserts earlier 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
ed755cf590 it didn't start if the path is invalid 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
f2cfad0cb9 There _is_ no traceback. It's an else. 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
db7af2661a Close a window for a race condition in notification processing 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
81ca822edf Cut the cost of this logging when logging is disabled 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
3ab7138598 some imports we need 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
7440ff6b93 log collective scanning 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
831836d5f6 don't try to propagate for non-directories 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
17540c78f3 not going to get processed any other way on fsevents 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
70ec8f2963 log this case 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
29e3390fb9 re-use log_call_deferred where it is easy to do so 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
807568e09f Log downloads 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
725c85b2f4 try not creating a duplicate Observer 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
3b5e8d7e6b move inotify events eliot field 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
3a1dcb6bf6 macOS should now be considered a supported platform 2019-03-14 11:23:16 -04:00
Chris Wood
f5ca88c1f4 Fix broken conditional statement
Because sys.platform will never return "linux" on python2 -- only
"linux2" -- this statement will always be False. Instead, use the
startswith idiom to both provide the intended behavior and ensure future
compatibility with python3.
2019-03-14 11:23:16 -04:00
David Stainton
6cd2ab7965 Add watchdog inotify and tests 2019-03-14 11:23:16 -04:00
Jean-Paul Calderone
5004cdf7ea Remove the now *duplicate* notification. :/ 2019-03-14 10:16:19 -04:00
Jean-Paul Calderone
c507b78656 Always fire the hook in case someone is waiting. 2019-03-14 09:47:15 -04:00
Jean-Paul Calderone
156257bcd8 YES RECURSIVE PLEASE 2019-03-14 09:20:37 -04:00