store the string, not predefine types
authorDuncan Mac-Vicar P <dmacvicar@suse.de>
Fri, 12 Sep 2008 14:05:39 +0000 (14:05 +0000)
committerDuncan Mac-Vicar P <dmacvicar@suse.de>
Fri, 12 Sep 2008 14:05:39 +0000 (14:05 +0000)
src/knownid.h
tools/repo_content.c
tools/repo_products.c
tools/repo_rpmmd.c

index bd50b98..64aeeaa 100644 (file)
@@ -152,12 +152,6 @@ KNOWNID(PRODUCT_DISTVERSION,               "product:distversion"),
 KNOWNID(PRODUCT_TYPE,                  "product:type"),
 KNOWNID(PRODUCT_URL,                   "product:url"),
 KNOWNID(PRODUCT_URL_TYPE,              "product:url:type"),
-KNOWNID(PRODUCT_URL_TYPE_SMOLT,                "product:url:type:smolt"),
-KNOWNID(PRODUCT_URL_TYPE_RELNOTES,     "product:url:type:relnotes"),
-KNOWNID(PRODUCT_URL_TYPE_EXTRA,                "product:url:type:extra"),
-KNOWNID(PRODUCT_URL_TYPE_OPTIONAL,     "product:url:type:optional"),
-KNOWNID(PRODUCT_URL_TYPE_UPDATE,       "product:url:type:update"),
-KNOWNID(PRODUCT_URL_TYPE_REGISTER,     "product:url:type:register"),
 KNOWNID(PRODUCT_FLAGS,                 "product:flags"),
 KNOWNID(PRODUCT_FLAVOR,                        "product:flavor"),
 KNOWNID(PRODUCT_REFERENCES,            "product:references"),
index 297efa3..4cf2105 100644 (file)
@@ -355,13 +355,13 @@ repo_add_content(Repo *repo, FILE *fp)
          else if (istag ("DATADIR"))
            repo_set_str(repo, s - pool->solvables, SUSETAGS_DATADIR, value);
          else if (istag ("UPDATEURLS"))
-           add_multiple_urls(data, handle, value, PRODUCT_URL_TYPE_UPDATE);
+           add_multiple_urls(data, handle, value, str2id(pool, "update", 1));
          else if (istag ("EXTRAURLS"))
-           add_multiple_urls(data, handle, value, PRODUCT_URL_TYPE_EXTRA);
+           add_multiple_urls(data, handle, value, str2id(pool, "extra", 1));
          else if (istag ("OPTIONALURLS"))
-           add_multiple_urls(data, handle, value, PRODUCT_URL_TYPE_OPTIONAL);
+           add_multiple_urls(data, handle, value, str2id(pool, "optional", 1));
          else if (istag ("RELNOTESURL"))
-           add_multiple_urls(data, handle, value, PRODUCT_URL_TYPE_RELNOTES);
+           add_multiple_urls(data, handle, value, str2id(pool, "releasenotes", 1));
          else if (istag ("SHORTLABEL"))
            repo_set_str(repo, s - pool->solvables, PRODUCT_SHORTLABEL, value);
          else if (istag ("LABEL")) /* LABEL is the products SUMMARY. */
index 0408735..dc6cecd 100644 (file)
@@ -306,25 +306,9 @@ endElement(void *userData, const char *name)
     case STATE_URL:
       if (pd->tmpurltype)
         {
-          Id type = 0;
           repodata_add_poolstr_array(pd->data, pd->handle, PRODUCT_URL, pd->content);
 
-          if ( pd->tmpurltype[0] == 's' )
-            type = PRODUCT_URL_TYPE_SMOLT;
-          else if ( pd->tmpurltype[0] == 'u' )
-            type = PRODUCT_URL_TYPE_UPDATE;
-          else if ( pd->tmpurltype[0] == 'o' )
-            type = PRODUCT_URL_TYPE_OPTIONAL;
-          else if ( pd->tmpurltype[0] == 'r' )
-            {
-              type = PRODUCT_URL_TYPE_REGISTER;
-              if ( pd->tmpurltype[2] &&  pd->tmpurltype[2] == 'l' )
-                type = PRODUCT_URL_TYPE_RELNOTES;
-            }
-          else
-            type = PRODUCT_URL_TYPE_EXTRA;
-          
-          repodata_add_idarray(pd->data, pd->handle, PRODUCT_URL_TYPE, type);
+          repodata_add_idarray(pd->data, pd->handle, PRODUCT_URL_TYPE, str2id(pd->pool, pd->tmpurltype, 1));
         }
       break;
     case STATE_TARGET:
index 181bfa3..b499ed5 100644 (file)
@@ -1014,21 +1014,21 @@ endElement(void *userData, const char *name)
       if (pd->content[0])
         {
           repodata_add_poolstr_array(pd->data, pd->handle, PRODUCT_URL, pd->content);
-          repodata_add_idarray(pd->data, pd->handle, PRODUCT_URL_TYPE, PRODUCT_URL_TYPE_RELNOTES);
+          repodata_add_idarray(pd->data, pd->handle, PRODUCT_URL_TYPE, str2id(pool, "releasenotes", 1));
         }
       break;
     case STATE_UPDATEURL:
       if (pd->content[0])
         {
           repodata_add_poolstr_array(pd->data, pd->handle, PRODUCT_URL, pd->content);
-          repodata_add_idarray(pd->data, pd->handle, PRODUCT_URL_TYPE, PRODUCT_URL_TYPE_UPDATE);
+          repodata_add_idarray(pd->data, pd->handle, PRODUCT_URL_TYPE, str2id(pool, "update", 1));
         }
       break;
     case STATE_OPTIONALURL:
       if (pd->content[0])
         {
           repodata_add_poolstr_array(pd->data, pd->handle, PRODUCT_URL, pd->content);
-          repodata_add_idarray(pd->data, pd->handle, PRODUCT_URL_TYPE, PRODUCT_URL_TYPE_OPTIONAL);
+          repodata_add_idarray(pd->data, pd->handle, PRODUCT_URL_TYPE, str2id(pool, "optional", 1));
         }
       break;
     case STATE_FLAG: