Philipp Wolfer
a0aa65cc8a
PICARD-1060: Use checkbox text rendering again for CollectionsMenu
...
Fixes misplaced menu items on macOS
2018-11-13 23:23:40 +01:00
Philipp Wolfer
6e1ad4d451
PICARD-1060: Use QStyle for painting CollectionMenu
...
This results in a native look when using Windows or macOS styles
2018-11-13 23:08:58 +01:00
Philipp Wolfer
cc1864edcf
PICARD-1060: Fixed vertical spacing in CollectionMenu
2018-11-13 21:50:56 +01:00
Philipp Wolfer
cea3dae9c5
PICARD-1060: CollectionMenu: Disable event handling while updating collection list
2018-11-13 21:15:46 +01:00
Philipp Wolfer
db4cc122cb
PICARD-1060: Fix collections menu not looking and behaving like a normal menu
2018-11-13 16:59:39 +01:00
Philipp Wolfer
f90aba2085
Merge pull request #1029 from phw/PICARD-1043-movement
...
PICARD-1043: Write movement tags
2018-11-12 18:43:19 +01:00
Philipp Wolfer
64b36feec2
Merge pull request #1031 from phw/PICARD-1410-load-vorbis-file-with-invalid-rating
...
PICARD-1410: load vorbis file with invalid rating
2018-11-12 18:41:17 +01:00
Philipp Wolfer
1078251d2d
PICARD-1405: Do not allow rich text input in script editors
2018-11-12 18:39:32 +01:00
Philipp Wolfer
b8253c9a3e
Resources rebuilt for recent icon renaming changes
2018-11-12 09:54:37 +01:00
Philipp Wolfer
0546765d5f
PICARD-1410: Added test for invalid Vorbis ratings
2018-11-12 09:17:29 +01:00
Philipp Wolfer
7a12c582e8
PICARD-1410: Handle loading Vorbis files with invalid rating value
2018-11-12 08:57:47 +01:00
Philipp Wolfer
35f36b177f
PICARD-1043: Write showmovement only to MP4
...
Do not write the iTunes specific showmovement tag to formats other than MP4. iTunes does not support this for other formats, and there is no standard way to write this.
2018-11-11 11:03:04 +01:00
Philipp Wolfer
2a54a4962e
PICARD-1043: Support movement tags for ID3 and MP4
2018-11-11 11:02:05 +01:00
Philipp Wolfer
f4d42ac5d2
PICARD-1375: Handle empty values in metadata sanitation
2018-11-11 10:59:15 +01:00
Philipp Wolfer
bf59d22bbb
PICARD-1397: Do not save unsupported tags to files
2018-11-11 10:58:13 +01:00
Philipp Wolfer
985c56cc70
Merge pull request #1024 from virusMac/PICARD-1325
...
PICARD-1325: Allow disabling new version update checking for packagers
2018-11-05 22:29:35 +01:00
virusMac
ff0df0a15c
Allow disabling new version update checking
2018-11-05 20:13:26 +01:00
Bruce
21a45818f8
Refer to INSTALL.md
...
So it's easy to find for new contributors
2018-11-04 11:09:24 +01:00
Philipp Wolfer
3ec9c7c5e4
Merge pull request #1023 from phw/PICARD-637-fix-matchedtracks
...
PICARD-637: Allow $matchedtracks any number of args
2018-10-31 08:33:46 +01:00
virusMac
8cc47a7680
PICARD-862: Add tests for func_pad, func_replace, func_strip ( #1022 )
2018-10-31 08:33:02 +01:00
Philipp Wolfer
790c85524c
Merge branch 'PICARD-1384-appdata'
2018-10-30 08:39:15 +01:00
abhi-ohri
dd1dc7d4d3
Update Project license syntax
2018-10-30 08:36:24 +01:00
Abhinav Ohri
0d86ce520d
Remove unneeded content_attributes.
2018-10-30 08:36:24 +01:00
abhi-ohri
7a4491a8dc
Set content_attribute money-purchasing to mild
2018-10-30 08:36:24 +01:00
Abhinav Ohri
57d4152bbd
Add Picard screenshot links
2018-10-30 08:36:24 +01:00
Kartik Ohri
4967709f7a
Refactor Picard to org.musicbrainz.Picard
...
The refactoring is in line with the conventions followed by AppData xml.
2018-10-30 08:36:24 +01:00
abhi-ohri
8815c052ed
Correct documentation link
2018-10-30 08:34:40 +01:00
abhi-ohri
7485375591
Update setup.py
...
Specify AppData xml file installation location and refactor Picard.desktop to meet conventions.
2018-10-30 08:34:40 +01:00
abhi-ohri
2b8203df1c
Rename picard.desktop to org.musicbrainz.Picard.desktop
...
Rename file to meet [Freedesktop Desktop Entry Specification](https://standards.freedesktop.org/desktop-entry-spec/latest/ar01s02.html ).
2018-10-30 08:34:40 +01:00
abhi-ohri
5101e96bd0
Create org.musicbrainz.Picard.appdata.xml
...
Add an app description to MusicBrainz Picard. AppStream adds standardized descriptions of applications, that can be used by different application stores and installers.
2018-10-30 08:34:40 +01:00
Wieland Hoffmann
8bb2777bad
Remove devutil/__init__.py
...
It only provided a single function, `printable_node`, for printing XmlNode
objects. These are not really used in Picard anymore since the switch to the
JSON web service.
2018-10-30 08:28:35 +01:00
Philipp Wolfer
b18fbc77b2
Added tests for $matchedtracks
2018-10-29 13:34:02 +01:00
Sophist
fe64b49165
Allow $matchedtracks any number of args ...
...
... like $noop.
And note that $matchedtracks works only in file naming scripts (which
makes sense).
2018-10-29 12:56:34 +01:00
virusMac
3310f9914e
PICARD-1386: Add $title function ( #1018 )
...
PICARD-1386: Add $title function
2018-10-29 08:34:54 +01:00
Philipp Wolfer
cf95a77b99
Merge pull request #1014 from phw/PICARD-1383-use-mcn-for-discid-lookup
...
PICARD-1383: Select release with matching barcode on disc ID lookup
2018-10-26 11:12:21 +02:00
Philipp Wolfer
80eafdc392
PICARD-1391: Avoid exception when closing active requests
2018-10-26 11:11:17 +02:00
Philipp Wolfer
f93a44e00b
compare_barcodes: Both None and '' are considered "no barcode"
2018-10-25 08:53:53 +02:00
Philipp Wolfer
1dc800cfc7
Simplify compare_barcodes function
2018-10-25 08:53:53 +02:00
Philipp Wolfer
e94e36eca0
PICARD-1383: Select release with matching barcode on disc ID lookup
2018-10-25 08:53:53 +02:00
Philipp Wolfer
820dd45199
PICARD-1244: Refresh plugin list after (un)installing local plugin
2018-10-25 08:35:16 +02:00
Wieland Hoffmann
a6584d8f9b
Merge pull request #1012 from mineo/test-order-1.1
...
PICARD-1381: Remove dependencies between tests
2018-10-24 17:27:13 +02:00
Wieland Hoffmann
4efc943246
test_acoustid: Extract self.init_test calls to AcoustIDTests setUp()
...
This is like 365f55c2 for test_acoustid.
2018-10-23 17:32:50 +02:00
Wieland Hoffmann
e624aa121c
Make PicardTestCase the parent class of all tests
...
This brings the faketagger and, more importantly, settings reset to all of them.
2018-10-23 17:32:50 +02:00
Wieland Hoffmann
624ba7ff7d
Always assign config.setting to a copy of the tests settings dictionary
...
This prevents any setting from leaking between tests.
2018-10-23 17:32:50 +02:00
Wieland Hoffmann
5511bc967c
WAVTest: Initialize settings
...
These tests previously relied on config.setting being initialized by some of the
previous format tests, in particular `enabled_plugins`:
---------------------------------------------------- Captured stderr call -----------------------------------------------------
Traceback (most recent call last):
File "/home/wieland/dev/picard/picard/formats/__init__.py", line 74, in open_
audio_file = guess_format(filename)
File "/home/wieland/dev/picard/picard/formats/__init__.py", line 58, in guess_format
for option in options
File "/home/wieland/dev/picard/picard/formats/__init__.py", line 57, in <listcomp>
results = [(option._File.score(filename, fileobj, header), option.__name__, option)
File "/home/wieland/dev/picard/picard/plugin.py", line 130, in __iter__
enabled_plugins = config.setting["enabled_plugins"]
KeyError: 'enabled_plugins'
2018-10-23 17:32:50 +02:00
Wieland Hoffmann
eebe00a455
PicardTestCase: Reset config.setting in setUp
...
This helps finding tests that don't explicitly specify all settings they need.
2018-10-23 17:32:50 +02:00
Wieland Hoffmann
dac50a94b3
test_mbjson: Extract self.init_test calls to MBJSONTests setUp()
...
This is similar to how test_formats does it. It also means that all tests can
inherit setUp() and don't have to super()-call it.
2018-10-23 17:32:50 +02:00
Wieland Hoffmann
f01f9299a9
Extract setting up a FakeTagger into a PicardTestCase class
2018-10-23 17:32:50 +02:00
Wieland Hoffmann
3c366c7e36
test_imagelist: Fulfill the assumption that QObject.tagger is a FakeTagger object
...
Previously, these tests were failing if executed before test_filesystem or
test_format which already did the same:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/test_imagelist.py:25: in create_test_files
CoverArtImage(url='file://file1', data=create_fake_png(b'a')),
picard/coverart/image.py:151: in __init__
self.set_data(data)
picard/coverart/image.py:248: in set_data
self.datahash = DataHash(data, suffix=self.extension)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <picard.coverart.image.DataHash object at 0x7f367fe036a0>
data = b'\x89PNG\r\n\x1a\naaaaIHDR\x00\x00\x00d\x00\x00\x00da', prefix = 'picard', suffix = '.png'
def __init__(self, data, prefix='picard', suffix=''):
self._filename = None
_datafile_mutex.lock()
try:
m = md5()
m.update(data)
self._hash = m.hexdigest()
if self._hash not in _datafiles:
(fd, self._filename) = tempfile.mkstemp(prefix=prefix, suffix=suffix)
> QObject.tagger.register_cleanup(self.delete_file)
E AttributeError: type object 'QObject' has no attribute 'tagger'
picard/coverart/image.py:68: AttributeError
2018-10-23 17:32:50 +02:00
Wieland Hoffmann
55046c7b14
Use pytest and pytest-randomly for running tests on travis
...
This ensures every test run uses a different execution order for tests, helping
us find dependencies between tests that should be independent.
2018-10-23 17:32:50 +02:00