def test_filenames(self): self.assertEqual(GLib.filename_display_name('foo'), 'foo') self.assertEqual(GLib.filename_display_basename('bar/foo'), 'foo') def glibfsencode(f): # the annotations of filename_from_utf8() was changed in # https://bugzilla.gnome.org/show_bug.cgi?id=756128 if isinstance(f, bytes): return f if os.name == "nt": if PY3: return f.encode("utf-8", "surrogatepass") else: return f.encode("utf-8") else: assert PY3 return os.fsencode(f) # this is locale dependent, so we cannot completely verify the result res = GLib.filename_from_utf8(u'aäb') res = glibfsencode(res) self.assertTrue(isinstance(res, bytes)) self.assertGreaterEqual(len(res), 3) # with explicit length argument res = GLib.filename_from_utf8(u'aäb', 1) res = glibfsencode(res) self.assertEqual(res, b'a')
def test_filenames(self): self.assertEqual(GLib.filename_display_name('foo'), 'foo') self.assertEqual(GLib.filename_display_basename('bar/foo'), 'foo') # this is locale dependent, so we cannot completely verify the result res = GLib.filename_from_utf8(_unicode('aäb')) self.assertTrue(isinstance(res, bytes)) self.assertGreaterEqual(len(res), 3) # with explicit length argument self.assertEqual(GLib.filename_from_utf8(_unicode('aäb'), 1), b'a')
def test_filenames(self): self.assertEqual(GLib.filename_display_name('foo'), 'foo') self.assertEqual(GLib.filename_display_basename('bar/foo'), 'foo') def glibfsencode(f): # the annotations of filename_from_utf8() was changed in # https://bugzilla.gnome.org/show_bug.cgi?id=756128 if isinstance(f, bytes): return f if os.name == "nt": return f.encode("utf-8", "surrogatepass") else: return os.fsencode(f) # this is locale dependent, so we cannot completely verify the result res = GLib.filename_from_utf8(u'aäb') res = glibfsencode(res) self.assertTrue(isinstance(res, bytes)) self.assertGreaterEqual(len(res), 3) # with explicit length argument res = GLib.filename_from_utf8(u'aäb', 1) res = glibfsencode(res) self.assertEqual(res, b'a')
def single_image_in_dir(dirname): # Returns None or a filename if there is exactly one image # in the dir. try: dirname = GLib.filename_from_utf8(dirname) except: pass try: files = os.listdir(dirname) except OSError: return None imgfiles = [f for f in files if is_imgfile(f)] if len(imgfiles) != 1: return None return os.path.join(dirname, imgfiles[0])