Add events to trips
This commit is contained in:
		
							parent
							
								
									8504a3a022
								
							
						
					
					
						commit
						ad47f291f8
					
				| 
						 | 
					@ -29,13 +29,17 @@ class Trip:
 | 
				
			||||||
    travel: list[StrDict] = field(default_factory=list)
 | 
					    travel: list[StrDict] = field(default_factory=list)
 | 
				
			||||||
    accommodation: list[StrDict] = field(default_factory=list)
 | 
					    accommodation: list[StrDict] = field(default_factory=list)
 | 
				
			||||||
    conferences: list[StrDict] = field(default_factory=list)
 | 
					    conferences: list[StrDict] = field(default_factory=list)
 | 
				
			||||||
 | 
					    events: list[StrDict] = field(default_factory=list)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @property
 | 
					    @property
 | 
				
			||||||
    def title(self) -> str:
 | 
					    def title(self) -> str:
 | 
				
			||||||
        """Trip title."""
 | 
					        """Trip title."""
 | 
				
			||||||
        return (
 | 
					        return (
 | 
				
			||||||
            format_list_with_ampersand([conf["name"] for conf in self.conferences])
 | 
					            format_list_with_ampersand(
 | 
				
			||||||
            or "[no conference]"
 | 
					                [conf["name"] for conf in self.conferences]
 | 
				
			||||||
 | 
					                + [event["title"] for event in self.events]
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
 | 
					            or "[unnamed trip]"
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @property
 | 
					    @property
 | 
				
			||||||
| 
						 | 
					@ -60,7 +64,7 @@ class Trip:
 | 
				
			||||||
        """Countries visited as part of trip, in order."""
 | 
					        """Countries visited as part of trip, in order."""
 | 
				
			||||||
        seen: set[str] = set()
 | 
					        seen: set[str] = set()
 | 
				
			||||||
        items: list[Country] = []
 | 
					        items: list[Country] = []
 | 
				
			||||||
        for item in self.conferences + self.accommodation:
 | 
					        for item in self.conferences + self.accommodation + self.events:
 | 
				
			||||||
            if "country" not in item:
 | 
					            if "country" not in item:
 | 
				
			||||||
                continue
 | 
					                continue
 | 
				
			||||||
            if item["country"] in seen:
 | 
					            if item["country"] in seen:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -178,6 +178,7 @@ def build_trip_list() -> list[Trip]:
 | 
				
			||||||
        "travel": travel_items,
 | 
					        "travel": travel_items,
 | 
				
			||||||
        "accommodation": travel.parse_yaml("accommodation", data_dir),
 | 
					        "accommodation": travel.parse_yaml("accommodation", data_dir),
 | 
				
			||||||
        "conferences": travel.parse_yaml("conferences", data_dir),
 | 
					        "conferences": travel.parse_yaml("conferences", data_dir),
 | 
				
			||||||
 | 
					        "events": travel.parse_yaml("events", data_dir),
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for key, item_list in data.items():
 | 
					    for key, item_list in data.items():
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue