App-sitelenmute
view release on metacpan or search on metacpan
* Handle UTF-8 encoded filenames including spaces and parenthesis in
their names
* Handle long options (they all failed)
3.00
* Added tests
* Added to CPAN as App::sitelenmute
* Many new requirements, now handled via Makefile.PL and CPAN
* Removed requirement for threads
* Removed -u option; always update an existing gallery
sitelen-mute 2.0.0. 2018-05-11
------------------------------
* Forked and Changed name from fgallery
* Applied a number of patches from various people
* Support for browsers with Javascript disabled
* Support for meta data used by social media sites
* Overview page
fgallery 1.8.2: 2016-05-25
--------------------------
* Allow to generate a gallery directly on filesystems without hard-links.
* Fix generation failure on BSD systems (use a common set of "cp" arguments).
* Handle more malformed/missing EXIF timestamps.
* Use `Cpanel::JSON::XS` instead of `JSON::XS` (fixing errors in recent
unsupported combinations of Perl / JSON::XS and threads).
* New `fgallery` man page provided by Guus Sliepen.
fgallery 1.8.1: 2016-02-02
--------------------------
* Fixed txt/xmp caption extraction for filenames with special characters.
* Fixed unicode handling in xmp/exif captions.
script/fcaption view on Meta::CPAN
if self.modified: self.save()
self.load((self.current - 1) % len(self.files))
def on_list(self, ev):
if self.modified: self.save()
self.load(self.list_files.currentRow())
def on_undo(self, ev):
self.load(self.current)
def thumb_ready(self, thread, idx, path):
icon = thread.image
if not icon.isNull():
crow = self.list_files.currentRow()
item = self.list_files.takeItem(idx)
item.setIcon(QtGui.QIcon(QtGui.QPixmap(icon)))
self.list_files.insertItem(idx, item)
self.list_files.setCurrentRow(crow)
self.thumb_schedule()
def thumb_schedule(self):
if not self.missing_thumbs: return
idx, path = self.missing_thumbs.pop(0)
thread = BackgroundLoader(path, self.list_files.iconSize())
thread.finished.connect(lambda: self.thumb_ready(thread, idx, path))
thread.start()
def set_files(self, files):
self.files = list(files)
self.list_files.clear()
self.missing_thumbs = list(enumerate(files))
for path in files:
self.list_files.addItem(os.path.basename(path))
if len(files) < 2:
self.list_files.hide()
self.btn_next.setEnabled(False)
( run in 0.489 second using v1.01-cache-2.11-cpan-3cd7ad12f66 )