- You can store a price in a floating point variable.
- All currencies are subdivided in 1/100th units (like US dollar/cents, euro/eurocents etc.).
- All currencies are subdivided in decimal units (like dinar/fils)
- All currencies currently in circulation are subdivided in decimal units. (to exclude shillings, pennies) (counter-example: MGA)
- All currencies are subdivided. (counter-examples: KRW, COP, JPY... Or subdivisions can be deprecated.)
- Prices can't have more precision than the smaller sub-unit of the currency. (e.g. gas prices)
- For any currency you can have a price of 1. (ZWL)
- Every country has its own currency. (EUR is the best example, but also Franc CFA, etc.)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/env python3 | |
| import http.client | |
| import json | |
| import os | |
| import time | |
| import urllib.parse | |
| import urllib.request | |
| from pathlib import Path | |
| from typing import Any |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #! /usr/bin/env nix-shell | |
| #! nix-shell -i bash -p bash gh | |
| set -eu | |
| # MIT No Attribution (SPDX Identifier: MIT-0) | |
| # | |
| # Copyright 2023-2025 Lorenz Leutgeb, Peder Bergebakken Sundt | |
| # | |
| # Permission is hereby granted, free of charge, to any person obtaining a copy of this |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| local api = "wasapi" | |
| local deviceList = mp.get_property_native("audio-device-list") | |
| local aid = 1 | |
| local function cycle_adevice(s, e, d) | |
| mp.enable_messages("error") | |
| while s ~= e + d do -- until the loop would cycle back to the number we started on | |
| if string.find(mp.get_property("audio-device"), deviceList[s].name, 1, true) then | |
| while true do | |
| if s + d == 0 then --the device list starts at 1; 0 means we iterated to far | |
| s = #deviceList + 1 --so lets restart at the last device |