quickfix: set User-Agent for wikidata
[redakcja.git] / src / catalogue / wikidata.py
index b5ce07b..e5aecaf 100644 (file)
@@ -71,6 +71,9 @@ class WikidataModel(models.Model):
     def wikidata_populate(self, save=True, force=False):
         Wikidata = type(self).Wikidata
         client = Client()
+        client.opener.addheaders = [(
+            'User-Agent', 'Wolne Lektury Redakcja / Python-wikidata'
+        )]
         # Probably should getlist
         entity = client.get(self.wikidata)
         for attname in dir(Wikidata):
@@ -164,6 +167,10 @@ class WikidataModel(models.Model):
                 except:
                     pass
                 else:
+                    if isinstance(wdvalue, str):
+                        max_length = getattr(model_field, 'max_length', None)
+                        if max_length:
+                            wdvalue = wdvalue[:max_length]
                     setattr(self, attname, wdvalue)
 
     def wikidata_link(self):