forked from edward/owl-map
		
	Show date close date (P3999) in item detail
This commit is contained in:
		
							parent
							
								
									72c32f38ce
								
							
						
					
					
						commit
						0aa2bfc4b7
					
				| 
						 | 
				
			
			@ -321,6 +321,11 @@
 | 
			
		|||
            <br>{{wd_item.street_address[0]}}
 | 
			
		||||
          </span>
 | 
			
		||||
 | 
			
		||||
          <span v-if="wd_item.closed.length">
 | 
			
		||||
            <br><strong>closed</strong>
 | 
			
		||||
            <br>{{wd_item.closed.join('; ')}}
 | 
			
		||||
          </span>
 | 
			
		||||
 | 
			
		||||
          </div>
 | 
			
		||||
          <div class="col">
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -145,18 +145,21 @@ class Item(Base):
 | 
			
		|||
        return dict(d) or None
 | 
			
		||||
 | 
			
		||||
    def get_isa_qids(self):
 | 
			
		||||
        return {v["id"] for v in self.get_claim("P31") if v}
 | 
			
		||||
        return [v["id"] for v in self.get_claim("P31") if v]
 | 
			
		||||
 | 
			
		||||
    def is_street(self):
 | 
			
		||||
        street_items = {
 | 
			
		||||
            'Q79007',  # street
 | 
			
		||||
            'Q21000333',  # shopping street
 | 
			
		||||
        }
 | 
			
		||||
        return bool(street_items & self.get_isa_qids())
 | 
			
		||||
        return bool(street_items & set(self.get_isa_qids()))
 | 
			
		||||
 | 
			
		||||
    def is_tram_stop(self):
 | 
			
		||||
        return 'Q2175765' in self.get_isa_qids()
 | 
			
		||||
 | 
			
		||||
    def closed(self):
 | 
			
		||||
        return [utils.format_wikibase_time(v) for v in self.get_claim("P3999") if v]
 | 
			
		||||
 | 
			
		||||
# class Claim(Base):
 | 
			
		||||
#     __tablename__ = "claim"
 | 
			
		||||
#     item_id = Column(Integer, primary_key=True)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,6 +6,7 @@ import math
 | 
			
		|||
import user_agents
 | 
			
		||||
import re
 | 
			
		||||
import pattern.en
 | 
			
		||||
from datetime import date
 | 
			
		||||
 | 
			
		||||
metres_per_mile = 1609.344
 | 
			
		||||
feet_per_metre = 3.28084
 | 
			
		||||
| 
						 | 
				
			
			@ -168,3 +169,17 @@ def pluralize_label(label):
 | 
			
		|||
        return "mines"
 | 
			
		||||
 | 
			
		||||
    return pattern.en.pluralize(text)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def format_wikibase_time(v):
 | 
			
		||||
    p = v["precision"]
 | 
			
		||||
    t = v["time"]
 | 
			
		||||
 | 
			
		||||
    assert p in (9, 10, 11)
 | 
			
		||||
 | 
			
		||||
    if p == 11:
 | 
			
		||||
        return date.fromisoformat(t[1:11]).strftime("%d %B %Y")
 | 
			
		||||
    if p == 10:
 | 
			
		||||
        return date.fromisoformat(t[1:8] + "-01").strftime("%B %Y")
 | 
			
		||||
    if p == 9:
 | 
			
		||||
        return t[1:5]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue