Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove unnecessary code of dirsnapshot.py #930

Merged
merged 1 commit into from Nov 30, 2022

Conversation

QuantumEnergyE
Copy link
Contributor

if isinstance(entry, str) is used to distinguish listdir from scandir. Now scandir is used by default, we can delete this code.

@QuantumEnergyE
Copy link
Contributor Author

@BoboTiG PTAL

@BoboTiG
Copy link
Collaborator

BoboTiG commented Nov 30, 2022

Thanks @QuantumEnergyE !

@BoboTiG BoboTiG merged commit cf0a195 into gorakhargosh:master Nov 30, 2022
@chadgates
Copy link

@QuantumEnergyE @BoboTiG : now having following error and believe this removal may be the root for it - in version 2.2.1:

Traceback (most recent call last): File "/usr/local/lib/python3.10/threading.py", line 1016, in _bootstrap_inner self.run() File "/usr/local/lib/python3.10/site-packages/sentry_sdk/integrations/threading.py", line 69, in run reraise(*_capture_exception()) File "/usr/local/lib/python3.10/site-packages/sentry_sdk/_compat.py", line 59, in reraise raise value File "/usr/local/lib/python3.10/site-packages/sentry_sdk/integrations/threading.py", line 67, in run return old_run_func(self, *a, **kw) File "/usr/local/lib/python3.10/site-packages/watchdog/observers/api.py", line 148, in run self.queue_events(self.timeout) File "/usr/local/lib/python3.10/site-packages/watchdog/observers/polling.py", line 91, in queue_events new_snapshot = self._take_snapshot() File "/usr/local/lib/python3.10/site-packages/watchdog/observers/polling.py", line 72, in <lambda> self._take_snapshot = lambda: DirectorySnapshot( File "/usr/local/lib/python3.10/site-packages/watchdog/utils/dirsnapshot.py", line 251, in __init__ for p, st in self.walk(path): File "/usr/local/lib/python3.10/site-packages/watchdog/utils/dirsnapshot.py", line 258, in walk paths = [os.path.join(root, entry.name) for entry in self.listdir(root)] File "/usr/local/lib/python3.10/site-packages/watchdog/utils/dirsnapshot.py", line 258, in <listcomp> paths = [os.path.join(root, entry.name) for entry in self.listdir(root)] AttributeError: 'str' object has no attribute 'name'

@BoboTiG
Copy link
Collaborator

BoboTiG commented Jan 13, 2023

@chadgates what function do you pass to the listdir argument when instantiating DirectorySnapshot?

@chadgates
Copy link

@BoboTiG : PollingObserverVFS(stat=os.stat, listdir=os.listdir), should I not do that ?

@BoboTiG
Copy link
Collaborator

BoboTiG commented Jan 23, 2023

As those arguments are/were the defaults values, not need to set them. Simply remove all of them:

PollingObserverVFS()

@chadgates
Copy link

When I changed code to:
new_observer = PollingObserverVFS()
I get error:
TypeError: PollingObserverVFS.init() missing 2 required positional arguments: 'stat' and 'listdir'

@BoboTiG
Copy link
Collaborator

BoboTiG commented Jan 26, 2023

My bad, I didn't check the class itself:

PollingObserverVFS(os.stat, os.scandir)

I don't why those are positional arguments 🤔

@chadgates
Copy link

That did the job! Thanks.

netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request May 5, 2023
3.0.0
~~~~~

- Drop support for Python 3.6.
- ``watchdog`` is now PEP 561 compatible, and tested with ``mypy``
- Fix missing ``>`` in ``FileSystemEvent.__repr__()``  (`#980 <https://github.com/gorakhargosh/watchdog/pull/980>`__)
- [ci] Lots of improvements
- [inotify] Return from ``InotifyEmitter.queue_events()`` if not launched when thread is inactive (`#963 <https://github.com/gorakhargosh/watchdog/pull/963>`__)
- [tests] Stability improvements
- [utils] Remove handling of ``threading.Event.isSet`` spelling (`#962 <https://github.com/gorakhargosh/watchdog/pull/962>`__)
- [watchmedo] Fixed tricks YAML generation (`#965 <https://github.com/gorakhargosh/watchdog/pull/965>`__)
- Thanks to our beloved contributors: @kurtmckee, @altendky, @agroszer, @BoboTiG

2.3.1
~~~~~

- Run ``black`` on the entire source code
- Bundle the ``requirements-tests.txt`` file in the source distribution (`#939 <https://github.com/gorakhargosh/watchdog/pull/939>`__)
- [watchmedo] Exclude ``FileOpenedEvent`` events from ``AutoRestartTrick``, and ``ShellCommandTrick``, to restore watchdog < 2.3.0 behavior. A better solution should be found in the future. (`#949 <https://github.com/gorakhargosh/watchdog/pull/949>`__)
- [watchmedo] Log ``FileOpenedEvent``, and ``FileClosedEvent``, events in ``LoggerTrick``
- Thanks to our beloved contributors: @BoboTiG

2.3.0
~~~~~

- [inotify] Add support for ``IN_OPEN`` events: a ``FileOpenedEvent`` event will be fired (`#941 <https://github.com/gorakhargosh/watchdog/pull/941>`__)
- [watchmedo] Add optional event debouncing for ``auto-restart``, only restarting once if many events happen in quick succession (``--debounce-interval``) (`#940 <https://github.com/gorakhargosh/watchdog/pull/940>`__)
- [watchmedo] Exit gracefully on ``KeyboardInterrupt`` exception (Ctrl+C) (`#945 <https://github.com/gorakhargosh/watchdog/pull/945>`__)
- [watchmedo] Add option to not auto-restart the command after it exits (``--no-restart-on-command-exit``) (`#946 <https://github.com/gorakhargosh/watchdog/pull/946>`__)
- Thanks to our beloved contributors: @BoboTiG, @dstaple, @taleinat, @cernekj

2.2.1
~~~~~

- Enable ``mypy`` to discover type hints as specified in PEP 561 (`#933 <https://github.com/gorakhargosh/watchdog/pull/933>`__)
- [ci] Set the expected Python version when building release files
- [ci] Update actions versions in use
- [watchmedo] [regression] Fix usage of missing ``signal.SIGHUP`` attribute on non-Unix OSes (`#935 <https://github.com/gorakhargosh/watchdog/pull/935>`__)
- Thanks to our beloved contributors: @BoboTiG, @simon04, @piotrpdev

2.2.0
~~~~~

- [build] Wheels are now available for Python 3.11 (`#932 <https://github.com/gorakhargosh/watchdog/pull/932>`__)
- [documentation] HTML documentation builds are now tested for errors (`#902 <https://github.com/gorakhargosh/watchdog/pull/902>`__)
- [documentation] Fix typos here, and there (`#910 <https://github.com/gorakhargosh/watchdog/pull/910>`__)
- [fsevents2] The ``fsevents2`` observer is now deprecated (`#909 <https://github.com/gorakhargosh/watchdog/pull/909>`__)
- [tests] The error message returned by musl libc for error code ``-1`` is now allowed (`#923 <https://github.com/gorakhargosh/watchdog/pull/923>`__)
- [utils] Remove unnecessary code in ``dirsnapshot.py`` (`#930 <https://github.com/gorakhargosh/watchdog/pull/930>`__)
- [watchmedo] Handle shutdown events from ``SIGHUP`` (`#912 <https://github.com/gorakhargosh/watchdog/pull/912>`__)
- Thanks to our beloved contributors: @kurtmckee, @babymastodon, @QuantumEnergyE, @timgates42, @BoboTiG
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants