From 64ebbe132d82aba7388fa26017618090ce9fdf0e Mon Sep 17 00:00:00 2001
From: Vincent Texier <vit@free.fr>
Date: Wed, 10 Jun 2015 20:11:06 +0200
Subject: [PATCH] localize display of dates

---
 src/cutecoin/core/graph.py        | 18 +++++++++++-------
 src/cutecoin/models/identities.py | 18 +++++++++++-------
 src/cutecoin/models/txhistory.py  |  7 +++++--
 3 files changed, 27 insertions(+), 16 deletions(-)

diff --git a/src/cutecoin/core/graph.py b/src/cutecoin/core/graph.py
index 6ffa7f9a..01b8b4af 100644
--- a/src/cutecoin/core/graph.py
+++ b/src/cutecoin/core/graph.py
@@ -1,7 +1,7 @@
 import logging
-import copy
 import time
 import datetime
+from PyQt5.QtCore import QLocale, QDateTime
 from cutecoin.core.person import Person
 from cutecoin.gui.views.wot import NODE_STATUS_HIGHLIGHTED, NODE_STATUS_OUT, ARC_STATUS_STRONG, ARC_STATUS_WEAK
 
@@ -171,9 +171,11 @@ class Graph(object):
             arc = {
                 'id': person.pubkey,
                 'status': arc_status,
-                'tooltip': datetime.datetime.fromtimestamp(
-                    certifier['cert_time']['medianTime'] + self.signature_validity
-                ).strftime("%d/%m/%Y"),
+                'tooltip': QLocale.toString(
+                    QLocale(),
+                    QDateTime.fromTime_t(certifier['cert_time']['medianTime'] + self.signature_validity).date(),
+                    QLocale.dateFormat(QLocale(), QLocale.ShortFormat)
+                ),
                 'cert_time': certifier['cert_time']['medianTime']
             }
             #  add arc to certifier
@@ -218,9 +220,11 @@ class Graph(object):
             arc = {
                 'id': certified['pubkey'],
                 'status': arc_status,
-                'tooltip': datetime.datetime.fromtimestamp(
-                    certified['cert_time']['medianTime'] + self.signature_validity
-                ).strftime("%d/%m/%Y"),
+                'tooltip': QLocale.toString(
+                    QLocale(),
+                    QDateTime.fromTime_t(certified['cert_time']['medianTime'] + self.signature_validity).date(),
+                    QLocale.dateFormat(QLocale(), QLocale.ShortFormat)
+                ),
                 'cert_time': certified['cert_time']['medianTime']
             }
 
diff --git a/src/cutecoin/models/identities.py b/src/cutecoin/models/identities.py
index b5b9e76a..aa0692ea 100644
--- a/src/cutecoin/models/identities.py
+++ b/src/cutecoin/models/identities.py
@@ -8,7 +8,7 @@ from ucoinpy.api import bma
 from ..core.person import Person
 from ..tools.exceptions import NoPeerAvailable, MembershipNotFoundError
 from PyQt5.QtCore import QAbstractTableModel, QSortFilterProxyModel, Qt, \
-                        QDateTime, QModelIndex
+                        QDateTime, QModelIndex, QLocale
 from PyQt5.QtGui import QColor
 import logging
 
@@ -46,12 +46,16 @@ class IdentitiesFilterProxyModel(QSortFilterProxyModel):
         if expiration_data is not None:
             will_expire_soon = (current_time > expiration_data*1000 - warning_expiration_time*1000)
         if role == Qt.DisplayRole:
-            if source_index.column() == self.sourceModel().columns_ids.index('renewed'):
-                date = QDateTime.fromTime_t(source_data).date() if source_data is not None else ""
-                return date
-            if source_index.column() == self.sourceModel().columns_ids.index('expiration'):
-                date = QDateTime.fromTime_t(source_data).date() if source_data is not None else ""
-                return date
+            if source_index.column() == self.sourceModel().columns_ids.index('renewed') \
+                    or source_index.column() == self.sourceModel().columns_ids.index('expiration'):
+                if source_data is not None:
+                    return QLocale.toString(
+                        QLocale(),
+                        QDateTime.fromTime_t(source_data).date(),
+                        QLocale.dateFormat(QLocale(), QLocale.ShortFormat)
+                    )
+                else:
+                    return ""
             if source_index.column() == self.sourceModel().columns_ids.index('pubkey'):
                 return "pub:{0}".format(source_data[:5])
 
diff --git a/src/cutecoin/models/txhistory.py b/src/cutecoin/models/txhistory.py
index 3b214211..ea09932a 100644
--- a/src/cutecoin/models/txhistory.py
+++ b/src/cutecoin/models/txhistory.py
@@ -99,8 +99,11 @@ class TxFilterProxyModel(QSortFilterProxyModel):
             if source_index.column() == model.columns_types.index('uid'):
                 return source_data
             if source_index.column() == model.columns_types.index('date'):
-                date = QDateTime.fromTime_t(source_data)
-                return date.date()
+                return QLocale.toString(
+                    QLocale(),
+                    QDateTime.fromTime_t(source_data).date(),
+                    QLocale.dateFormat(QLocale(), QLocale.ShortFormat)
+                )
             if source_index.column() == model.columns_types.index('payment') or \
                     source_index.column() == model.columns_types.index('deposit'):
                 if source_data is not "":
-- 
GitLab