summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Georg <mail@jensge.org>2018-09-04 21:36:08 +0200
committerJens Georg <mail@jensge.org>2018-09-04 21:36:08 +0200
commit388da8133d9ca58177f06f98fcfc8f4961a8440f (patch)
tree670a1b723b51576998636e0cd218b050c5096b0b
parentcc6eb0b674b15784e5aa90c588b9af5f05257ff5 (diff)
downloadrygel-388da8133d9ca58177f06f98fcfc8f4961a8440f.tar.gz
media-export: Only scrub name when doing meta-data
If not extracting meta-data, leave file-name as-is. There is still the issue that if there's no other meta-data, it might be really hard to distinguish the files from each other. Solves #119 - at least partially
-rw-r--r--src/plugins/media-export/rygel-media-export-extractor.vala16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/plugins/media-export/rygel-media-export-extractor.vala b/src/plugins/media-export/rygel-media-export-extractor.vala
index 3625469d..251b2491 100644
--- a/src/plugins/media-export/rygel-media-export-extractor.vala
+++ b/src/plugins/media-export/rygel-media-export-extractor.vala
@@ -49,6 +49,7 @@ public class Rygel.MediaExport.Extractor : Object {
private static Regex[] video_suffix_regexes;
public File file { get; construct set; }
+ public bool extract_metadata { get; construct set; default = true; }
protected VariantDict serialized_info;
@@ -60,7 +61,7 @@ public class Rygel.MediaExport.Extractor : Object {
string content_type,
bool extract_metadata) {
if (!extract_metadata) {
- return new Extractor (file);
+ return new Extractor (file, false);
}
var is_text = content_type.has_prefix ("text/") ||
@@ -81,8 +82,8 @@ public class Rygel.MediaExport.Extractor : Object {
return new GenericExtractor (file);
}
- private Extractor (File file) {
- Object (file: file);
+ private Extractor (File file, bool extract_metadata) {
+ Object (file: file, extract_metadata: extract_metadata);
}
public override void constructed () {
@@ -97,8 +98,13 @@ public class Rygel.MediaExport.Extractor : Object {
FileAttribute.STANDARD_DISPLAY_NAME,
FileQueryInfoFlags.NONE);
var display_name = file_info.get_display_name ();
- var title = this.strip_invalid_entities (display_name);
- this.serialized_info.insert (Serializer.TITLE, "s", title);
+
+ if (extract_metadata) {
+ var title = this.strip_invalid_entities (display_name);
+ this.serialized_info.insert (Serializer.TITLE, "s", title);
+ } else {
+ this.serialized_info.insert (Serializer.TITLE, "s", display_name);
+ }
var mtime = file_info.get_attribute_uint64
(FileAttribute.TIME_MODIFIED);