summaryrefslogtreecommitdiff
path: root/src/setup.c
diff options
context:
space:
mode:
authorTomas Bzatek <tbzatek@users.sourceforge.net>2010-10-08 17:02:47 +0200
committerTomas Bzatek <tbzatek@users.sourceforge.net>2010-10-08 17:02:47 +0200
commit10c6b1f0978710cf5a9f309b6fdcaef922f9b07f (patch)
tree00679d479d9554f91f5d3beb4f4e709705ba55df /src/setup.c
parent5fc53d25a171fbd85ee09c9fc771580350d689c8 (diff)
downloadcataract-10c6b1f0978710cf5a9f309b6fdcaef922f9b07f.tar.xz
Add basic Atom feed writer
Diffstat (limited to 'src/setup.c')
-rw-r--r--src/setup.c43
1 files changed, 18 insertions, 25 deletions
diff --git a/src/setup.c b/src/setup.c
index f394838..521b184 100644
--- a/src/setup.c
+++ b/src/setup.c
@@ -101,9 +101,7 @@ parse_setup_xml (const gchar *filename, TGallerySetup *setup)
setup->template_files = g_strsplit (s, "\n", -1);
g_free (s);
}
- s = xml_file_get_node_attribute (xml, "/gallery_setup/templates/support_files_use_common_root", "value");
- setup->support_files_use_common_root = s ? strcasecmp (s, "yes") == 0 : FALSE; /* default to FALSE */
- g_free (s);
+ setup->support_files_use_common_root = xml_file_get_node_attribute_boolean (xml, "/gallery_setup/templates/support_files_use_common_root", "value", FALSE);
setup->index_file_name = xml_file_get_node_value (xml, "/gallery_setup/templates/index_file/text()");
if (setup->index_file_name == NULL || strlen (setup->index_file_name) == 0)
setup->index_file_name = g_strdup (DEFAULT_INDEX_FILENAME);
@@ -121,7 +119,6 @@ parse_setup_xml (const gchar *filename, TGallerySetup *setup)
if (setup->thumbnail_name_format == NULL || strlen (setup->thumbnail_name_format) == 0 || strstr (setup->thumbnail_name_format, "%s") == NULL)
setup->thumbnail_name_format = g_strdup (DEFAULT_THUMBNAIL_NAME_FORMAT);
-
setup->thumbnail_landscape_width = xml_file_get_node_attribute_long (xml, "/gallery_setup/images/thumbnail", "landscape_w", 0);
setup->thumbnail_landscape_height = xml_file_get_node_attribute_long (xml, "/gallery_setup/images/thumbnail", "landscape_h", 0);
setup->thumbnail_portrait_width = xml_file_get_node_attribute_long (xml, "/gallery_setup/images/thumbnail", "portrait_w", 0);
@@ -135,39 +132,31 @@ parse_setup_xml (const gchar *filename, TGallerySetup *setup)
setup->footer = xml_file_get_node_value (xml, "/gallery_setup/footer/text()");
setup->border_style = xml_file_get_node_attribute (xml, "/gallery_setup/images/border", "style");
setup->meta_author = xml_file_get_node_value (xml, "/gallery_setup/meta/author/text()");
+ setup->meta_author_email = xml_file_get_node_value (xml, "/gallery_setup/meta/author_email/text()");
setup->meta_description = xml_file_get_node_value (xml, "/gallery_setup/meta/description/text()");
setup->meta_keywords = xml_file_get_node_value (xml, "/gallery_setup/meta/keywords/text()");
- s = xml_file_get_node_attribute (xml, "/gallery_setup/images/preload", "value");
- setup->preload = s ? strcasecmp (s, "yes") == 0 : TRUE; /* default to TRUE */
- g_free (s);
- s = xml_file_get_node_attribute (xml, "/gallery_setup/images/use_iptc_exif", "value");
- setup->use_iptc_exif = s ? strcasecmp (s, "yes") == 0 : FALSE; /* default to FALSE */
- g_free (s);
- s = xml_file_get_node_attribute (xml, "/gallery_setup/images/erase_embed_thumbnail", "value");
- setup->erase_exif_thumbnail = s ? strcasecmp (s, "yes") == 0 : FALSE; /* default to FALSE */
- g_free (s);
- s = xml_file_get_node_attribute (xml, "/gallery_setup/meta/use_title_as_meta", "value");
- setup->use_title_as_meta = s ? strcasecmp (s, "yes") == 0 : TRUE; /* default to TRUE */
- g_free (s);
+ setup->preload = xml_file_get_node_attribute_boolean (xml, "/gallery_setup/images/preload", "value", TRUE);
+ setup->use_iptc_exif = xml_file_get_node_attribute_boolean (xml, "/gallery_setup/images/use_iptc_exif", "value", FALSE);
+ setup->erase_exif_thumbnail = xml_file_get_node_attribute_boolean (xml, "/gallery_setup/images/erase_embed_thumbnail", "value", FALSE);
+ setup->use_title_as_meta = xml_file_get_node_attribute_boolean (xml, "/gallery_setup/meta/use_title_as_meta", "value", TRUE);
setup->site_title = xml_file_get_node_attribute (xml, "/gallery_setup/meta/site", "title");
setup->add_copyright = xml_file_get_node_value (xml, "/gallery_setup/meta/add_copyright/text()");
- s = xml_file_get_node_attribute (xml, "/gallery_setup/navigation/use_inpage_links", "value");
- setup->use_inpage_links = s ? strcasecmp (s, "yes") == 0 : TRUE; /* default to TRUE */
- g_free (s);
- s = xml_file_get_node_attribute (xml, "/gallery_setup/navigation/show_go_up", "value");
- setup->show_go_up = s ? strcasecmp (s, "yes") == 0 : TRUE; /* default to TRUE */
- g_free (s);
- s = xml_file_get_node_attribute (xml, "/gallery_setup/navigation/show_exif_table", "value");
- setup->show_exif_table = s ? strcasecmp (s, "yes") == 0 : TRUE; /* default to TRUE */
- g_free (s);
+ setup->use_inpage_links = xml_file_get_node_attribute_boolean (xml, "/gallery_setup/navigation/use_inpage_links", "value", TRUE);
+ setup->show_go_up = xml_file_get_node_attribute_boolean (xml, "/gallery_setup/navigation/show_go_up", "value", TRUE);
+ setup->show_exif_table = xml_file_get_node_attribute_boolean (xml, "/gallery_setup/navigation/show_exif_table", "value", TRUE);
setup->nofullsize = xml_file_get_node_present (xml, "/gallery_setup/images/nofullsize");
setup->favicon_file = xml_file_get_node_value (xml, "/gallery_setup/meta/favicon/text()");
setup->favicon_type = xml_file_get_node_attribute (xml, "/gallery_setup/meta/favicon", "type");
+ setup->feed_enabled = xml_file_get_node_attribute_boolean (xml, "/gallery_setup/feed", "enable", FALSE);
+ setup->feed_filename = xml_file_get_node_value (xml, "/gallery_setup/feed/filename/text()");
+ setup->feed_title = xml_file_get_node_value (xml, "/gallery_setup/feed/title/text()");
+ setup->feed_base_url = xml_file_get_node_value (xml, "/gallery_setup/feed/base_url/text()");
+
xml_parser_close (xml);
return TRUE;
}
@@ -238,6 +227,7 @@ free_setup_data (TGallerySetup *setup)
g_free (setup->index_file_name);
g_free (setup->footer);
g_free (setup->meta_author);
+ g_free (setup->meta_author_email);
g_free (setup->border_style);
g_free (setup->site_title);
g_free (setup->add_copyright);
@@ -247,6 +237,9 @@ free_setup_data (TGallerySetup *setup)
g_free (setup->img_big_dir);
g_free (setup->img_orig_dir);
g_free (setup->thumbnail_name_format);
+ g_free (setup->feed_filename);
+ g_free (setup->feed_title);
+ g_free (setup->feed_base_url);
g_free (setup);
setup = NULL;
}