#include <libxml++/document.h>
#include <openssl/sha.h>
#include <boost/filesystem.hpp>
+#include <boost/algorithm/string.hpp>
#include <stdexcept>
#include <sstream>
#include <iostream>
using boost::shared_ptr;
using boost::optional;
using boost::function;
+using boost::algorithm::trim;
using namespace dcp;
/** Create a UUID.
return N;
}
-/** Convert a struct tm to a string of the form
- * 2014-01-26T21:39:00+01:00
- * @param tm struct tm.
- * @return Time as a string.
- */
-string
-dcp::tm_to_string (struct tm* tm)
-{
- char buffer[64];
- strftime (buffer, 64, "%Y-%m-%dT%H:%M:%S", tm);
-
- int offset = 0;
-
-#ifdef LIBDCP_POSIX
- offset = tm->tm_gmtoff / 60;
-#else
- TIME_ZONE_INFORMATION tz;
- GetTimeZoneInformation (&tz);
- offset = tz.Bias;
-#endif
-
- return string (buffer) + utc_offset_to_string (offset);
-}
-
-/** @param b Offset from UTC to local time in minutes.
- * @return string of the form e.g. -01:00.
- */
-string
-dcp::utc_offset_to_string (int b)
-{
- bool const negative = (b < 0);
- b = negative ? -b : b;
-
- int const hours = b / 60;
- int const minutes = b % 60;
-
- stringstream o;
- if (negative) {
- o << "-";
- } else {
- o << "+";
- }
-
- o << setw(2) << setfill('0') << hours << ":" << setw(2) << setfill('0') << minutes;
- return o.str ();
-}
-
-/** Convert a boost::posix_time::ptime to a string of the form
- * 2014-01-26T21:39:00+01:00.
- * @param t boost::posix_time::ptime.
- * @return Time as a string.
- */
-string
-dcp::ptime_to_string (boost::posix_time::ptime t)
-{
- struct tm t_tm = boost::posix_time::to_tm (t);
- return tm_to_string (&t_tm);
-}
-
-
/** @param p Path to open.
* @param t mode flags, as for fopen(3).
* @return FILE pointer or 0 on error.
return rel;
}
+
+bool
+dcp::ids_equal (string a, string b)
+{
+ transform (a.begin(), a.end(), a.begin(), ::tolower);
+ transform (b.begin(), b.end(), b.begin(), ::tolower);
+ trim (a);
+ trim (b);
+ return a == b;
+}