X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=rescan_fs.py;h=346f92b28f387c3434731ec9d0e19e4949955aa2;hb=refs%2Ftags%2F5.1.0;hp=f2586f3651b9115600d3989ed8aeb28b335c9528;hpb=5bf30e4e42543b6be01448937183f3470cc731f3;p=xsetbg.git diff --git a/rescan_fs.py b/rescan_fs.py index f2586f3..346f92b 100755 --- a/rescan_fs.py +++ b/rescan_fs.py @@ -1,4 +1,4 @@ -#! /usr/bin/env python +#! /usr/bin/env python3 """Rescan filesystem and update database Rescan images directories; remove unknown images from DB; add new images. @@ -9,8 +9,11 @@ This file is a part of XSetBg. import os import subprocess + from sqlobject import SQLObjectNotFound from sqlobject.sqlbuilder import Insert, Update, Delete +from m_lib.defenc import default_encoding + from xsetbg_conf import xsetbg_dir, xsetbg_conf from xsetbg_db import recreate_db, SQLiteMassInsert @@ -58,7 +61,9 @@ with SQLiteMassInsert() as txn: # List images in all subdirectories for dirpath, dirs, files in os.walk(image_dir): for file in files: - full_name = os.path.join(dirpath, file).decode(fs_encoding) + if default_encoding != fs_encoding: + file = file.encode().decode(fs_encoding) + full_name = os.path.join(dirpath, file) try: row = xsetbg_db.byFull_name(full_name) except SQLObjectNotFound: