ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/repos/GoogleTron/Url.cpp
(Generate patch)

Comparing GoogleTron/Url.cpp (file contents):
Revision 683 by douglas, 2006-03-06T16:15:07-08:00 vs.
Revision 705 by douglas, 2006-03-18T20:49:26-08:00

# Line 6 | Line 6
6  
7   #include <cxx/standard.hh>
8  
9 + #include <api/pcre/regex.hpp>
10 +
11   #include "Url.hpp"
12  
13   Url::Url(const cse::String &location, const std::time_t &modified, Frequency frequency, uint8_t priority) : location(location), frequency(frequency), priority(priority)
# Line 15 | Line 17 | Url::Url(const cse::String &location, co
17          _assert (priority < 11);
18   }
19  
20 < Url::Url(const cse::String &location, const std::tm &modified, Frequency frequency = always, uint8_t priority = 5) : location(location), modified(modified), frequency(frequency), priority(priority)
20 > Url::Url(const cse::String &location, const std::tm &modified, Frequency frequency, uint8_t priority) : location(location), modified(modified), frequency(frequency), priority(priority)
21   {
22          _assert (priority < 11);
23   }
# Line 65 | Line 67 | cse::String Url::GetPriority() const
67                  return _B("1.0");
68          }
69   }
70 +
71 + Frequency GetFrequency(const cse::String &frequency)
72 + {
73 +        if (frequency == _B("always"))
74 +                return always;
75 +        else if (frequency == _B("hourly"))
76 +                return hourly;
77 +        else if (frequency == _B("daily"))
78 +                return daily;
79 +        else if (frequency == _B("weekly"))
80 +                return weekly;
81 +        else if (frequency == _B("monthly"))
82 +                return monthly;
83 +        else if (frequency == _B("yearly"))
84 +                return yearly;
85 +        else if (frequency == _B("never"))
86 +                return never;
87 +        else
88 +                return always;
89 + }
90 +
91 + uint8_t GetPriority(const cse::String &priority)
92 + {
93 +        if (priority == _B("1.0"))
94 +                return 10;
95 +        else if (api::Pcre::RegEx::Match match = api::Pcre::RegEx(_B("^0\\.(\\d)$"))(priority))
96 +                return lexical_cast<uint8_t>(match[1]);
97 +        else
98 +                return 5;
99 + }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines