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

Requesting testers #73

Closed
achbed opened this issue Feb 1, 2015 · 7 comments
Closed

Requesting testers #73

achbed opened this issue Feb 1, 2015 · 7 comments

Comments

@achbed
Copy link
Contributor

achbed commented Feb 1, 2015

I've created a new branch called dsw-playlist. It's got a large number of changes that need testing, including an all-new playlist class. You can see the code at https://github.com/achbed/DeeFuzzer/tree/dsw-playlist - feel free to branch and submit pull requests back. At the current time, it's completely untested, and pretty much guaranteed to break your instance, so do NOT use this on a production machine.

Highlights:

  • Huge refactoring effort to reduce code analysis warnings
  • Created new Playlist sub-package, with base class and several subclasses
  • Added playlist handler for PLS files
  • Refactored Media types into a sub-package
  • Added several type and file checks for security
  • Reworked station.py to use new playlist classes
  • Jingles now use the same playlist class (and can take advantage of M3U/PLS playlist types)
  • New logging base types
  • Added additional levels to logging functions (warning, debug, fatal)
  • Renamed some utility functions to better describe their actual purpose
  • Added Prev Track to OSC controls
  • Now requires mutagen package

To Do:

  • Update playlist class to allow caching of metadata from media files
  • Update playlist class to read metadata from the playlist file instead of media files (Useful for CUE files)
  • Update playlist class to support multiple metadata values for a single media file based on playback time (this will finally address issue Follow metadata in time from CUE or JSON files #3 )
@yomguy
Copy link
Owner

yomguy commented Feb 1, 2015

Hi @achbed. Impressive upgrade program! I'm in of course for testing.
Just a comment while I first read the code: new modules should be named with lowercase chars as proposed by pep8. I know the code is not completely compatible with pep8 yet, but this rules makes sense to me for every python projects.

@achbed
Copy link
Contributor Author

achbed commented Feb 1, 2015

Bah - I'll fix that. The issue here is that I'm going to have to rename it completely since my main dev box is Windows (and the file system is case insensitive). Just a warning for when you look at it next time.

@yomguy
Copy link
Owner

yomguy commented Feb 1, 2015

OK. This is only the case for tools/Playlist and tools/Media.
So can we say DeeFuzzer runs on Windows ?

@yomguy
Copy link
Owner

yomguy commented Feb 1, 2015

Seems like a circular import to fix:

Traceback (most recent call last):
  File "scripts/deefuzzer", line 8, in <module>
    import deefuzzer
  File "/home/momo/virtualenvs/deefuzzer/app/DeeFuzzer/deefuzzer/__init__.py", line 1, in <module>
    from core import *
  File "/home/momo/virtualenvs/deefuzzer/app/DeeFuzzer/deefuzzer/core.py", line 46, in <module>
    from deefuzzer.station import *
  File "/home/momo/virtualenvs/deefuzzer/app/DeeFuzzer/deefuzzer/station.py", line 55, in <module>
    from tools import *
  File "/home/momo/virtualenvs/deefuzzer/app/DeeFuzzer/deefuzzer/tools/__init__.py", line 7, in <module>
    from utils import *
  File "/home/momo/virtualenvs/deefuzzer/app/DeeFuzzer/deefuzzer/tools/utils.py", line 19, in <module>
    from Playlist import *
  File "/home/momo/virtualenvs/deefuzzer/app/DeeFuzzer/deefuzzer/tools/Playlist/__init__.py", line 3, in <module>
    from playlist import *
  File "/home/momo/virtualenvs/deefuzzer/app/DeeFuzzer/deefuzzer/tools/Playlist/playlist.py", line 2, in <module>
    from playlistbase import *
  File "/home/momo/virtualenvs/deefuzzer/app/DeeFuzzer/deefuzzer/tools/Playlist/playlistbase.py", line 5, in <module>
    from deefuzzer.tools.Media.media import *
  File "/home/momo/virtualenvs/deefuzzer/app/DeeFuzzer/deefuzzer/tools/Media/__init__.py", line 3, in <module>
    from mediabase import *
  File "/home/momo/virtualenvs/deefuzzer/app/DeeFuzzer/deefuzzer/tools/Media/mediabase.py", line 3, in <module>
    from deefuzzer.tools.Media.webm import *
  File "/home/momo/virtualenvs/deefuzzer/app/DeeFuzzer/deefuzzer/tools/Media/webm.py", line 46, in <module>
    class WebM(MediaBase):
NameError: name 'MediaBase' is not defined

@achbed
Copy link
Contributor Author

achbed commented Feb 1, 2015

Well, this is indeed a naked test version - there's going to be a lot of
that for a bit :)

Working up another commit now.

On Sun, Feb 1, 2015 at 2:33 PM, Guillaume Pellerin <notifications@github.com

wrote:

Seems like a circular import to fix:

Traceback (most recent call last):
File "scripts/deefuzzer", line 8, in
import deefuzzer
File "/home/momo/virtualenvs/deefuzzer/app/DeeFuzzer/deefuzzer/init.py", line 1, in
from core import *
File "/home/momo/virtualenvs/deefuzzer/app/DeeFuzzer/deefuzzer/core.py", line 46, in
from deefuzzer.station import *
File "/home/momo/virtualenvs/deefuzzer/app/DeeFuzzer/deefuzzer/station.py", line 55, in
from tools import *
File "/home/momo/virtualenvs/deefuzzer/app/DeeFuzzer/deefuzzer/tools/init.py", line 7, in
from utils import *
File "/home/momo/virtualenvs/deefuzzer/app/DeeFuzzer/deefuzzer/tools/utils.py", line 19, in
from Playlist import *
File "/home/momo/virtualenvs/deefuzzer/app/DeeFuzzer/deefuzzer/tools/Playlist/init.py", line 3, in
from playlist import *
File "/home/momo/virtualenvs/deefuzzer/app/DeeFuzzer/deefuzzer/tools/Playlist/playlist.py", line 2, in
from playlistbase import *
File "/home/momo/virtualenvs/deefuzzer/app/DeeFuzzer/deefuzzer/tools/Playlist/playlistbase.py", line 5, in
from deefuzzer.tools.Media.media import *
File "/home/momo/virtualenvs/deefuzzer/app/DeeFuzzer/deefuzzer/tools/Media/init.py", line 3, in
from mediabase import *
File "/home/momo/virtualenvs/deefuzzer/app/DeeFuzzer/deefuzzer/tools/Media/mediabase.py", line 3, in
from deefuzzer.tools.Media.webm import *
File "/home/momo/virtualenvs/deefuzzer/app/DeeFuzzer/deefuzzer/tools/Media/webm.py", line 46, in
class WebM(MediaBase):
NameError: name 'MediaBase' is not defined


Reply to this email directly or view it on GitHub
#73 (comment).

@achbed
Copy link
Contributor Author

achbed commented Feb 2, 2015

As for running on Windows, it doesn't work right now. I haven't gotten the some of the packages running (especially python-shout). I'm testing on a Ubuntu server and editing in an IDE on Windows using a separate git instance to push up changes.

@achbed
Copy link
Contributor Author

achbed commented Feb 2, 2015

I think I've gotten a lot of the issues you mentioned nailed down. I've added media type filtering to the playlist objects (so we can't mix media types within a single playlist). I've also done a ton of refactoring, cleanup, and documentation to the code.

@yomguy yomguy closed this as completed Feb 1, 2016
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

No branches or pull requests

2 participants