| 12345678910111213141516171819202122232425262728 |
- from __future__ import annotations
- import sys
- import typing
- import cache
- import supply
- def main() -> None:
- (fio_burn,) = supply.get_fio_burn([sys.argv[1]])
- planet = supply.Planet(fio_burn)
- materials: typing.Mapping[str, supply.Material] = {mat['Ticker']: mat
- for mat in cache.get('https://rest.fnar.net/material/allmaterials')}
- total_weight = total_volume = 0.0
- for mat in planet.exporting:
- if amount := planet.inventory.get(mat):
- weight = amount * materials[mat]['Weight']
- volume = amount * materials[mat]['Volume']
- print(f'{mat:3} {amount:5,} {weight:5.2f}t {volume:5.2f}m³')
- total_weight += weight
- total_volume += volume
-
- print(f'total {total_weight:.2f}t {total_volume:.2f}m³')
- if __name__ == '__main__':
- main()
|