Unicodesnowman has uploaded a new change for review.
https://gerrit.wikimedia.org/r/182061
Change subject: Parse standard date formats with wfTimestamp()
......................................................................
Parse standard date formats with wfTimestamp()
Attempt to use wfTimestamp() to parse the datetime attribute.
Also update a test that was slightly out of date.
Bug: T66014
Change-Id: I1bf9581a527c6033213c095a667e92d13c673c6e
---
M TemplateParser.php
M tests/data/File_Dala_Kyrka.JPG.php
M tests/html/File_Dala_Kyrka.JPG.html
3 files changed, 11 insertions(+), 4 deletions(-)
git pull
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/CommonsMetadata
refs/changes/61/182061/1
diff --git a/TemplateParser.php b/TemplateParser.php
index 82cee16..de1f1a1 100644
--- a/TemplateParser.php
+++ b/TemplateParser.php
@@ -272,7 +272,8 @@
}
/**
- * Parses the DateTimeOriginal - finds <time> tag and returns the value
of datetime attribute
+ * Parses the DateTimeOriginal - finds <time> tag and returns the
parsed value of the
+ * datetime attribute, or the raw value if parsing failed.
* @param DomNavigator $domNavigator
* @param DOMNode $node
* @return string
@@ -280,7 +281,13 @@
protected function parseFieldDateTimeOriginal( DomNavigator
$domNavigator, DOMNode $node ) {
$nodes = $domNavigator->findElementsWithAttribute( 'time',
'datetime', $node );
foreach ( $nodes as $time ) {
- return $time->getAttribute( 'datetime' );
+ $rawTs = $time->getAttribute( 'datetime' );
+ $parsedTs = wfTimestamp( TS_DB, $rawTs );
+ if ( $parsedTs ) {
+ return $parsedTs;
+ } else {
+ return $rawTs;
+ }
}
return $this->parseContents( $domNavigator, $node );
diff --git a/tests/data/File_Dala_Kyrka.JPG.php
b/tests/data/File_Dala_Kyrka.JPG.php
index a69dac2..5dcd704 100644
--- a/tests/data/File_Dala_Kyrka.JPG.php
+++ b/tests/data/File_Dala_Kyrka.JPG.php
@@ -7,7 +7,7 @@
return array (
'DateTimeOriginal' =>
array (
- 'value' => '2013-10-27',
+ 'value' => '2013-10-27 10:27:44',
'source' => 'commons-desc-page',
),
'License' =>
diff --git a/tests/html/File_Dala_Kyrka.JPG.html
b/tests/html/File_Dala_Kyrka.JPG.html
index 706476d..db3bb8d 100644
--- a/tests/html/File_Dala_Kyrka.JPG.html
+++ b/tests/html/File_Dala_Kyrka.JPG.html
@@ -9,7 +9,7 @@
</tr>
<tr style="vertical-align: top">
<td id="fileinfotpl_date" class="fileinfo-paramfield">Date</td>
-<td><time class="dtstart" datetime="2013-10-27">27 October 2013</time>,
10:27:44</td>
+<td><time class="dtstart" datetime="2013-10-27 10:27:44">27 October 2013,
10:27:44</time></td>
</tr>
<tr style="vertical-align: top">
<td id="fileinfotpl_src" class="fileinfo-paramfield">Source</td>
--
To view, visit https://gerrit.wikimedia.org/r/182061
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I1bf9581a527c6033213c095a667e92d13c673c6e
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/CommonsMetadata
Gerrit-Branch: master
Gerrit-Owner: Unicodesnowman <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits