utils

small programs, scripts and utils
git clone https://git.e1e0.net/utils.git
Log | Files | Refs

pass_to_bw.py (1812B)


      1 import argparse
      2 import base64
      3 import json
      4 
      5 FOLDERS = [
      6     {"object": "folder", "id": "c3470844-395c-46a0-8ebf-8a4161fc52af", "name": "chat"},
      7     {"object": "folder", "id": "d2ac53c5-68e3-4d66-9757-3a6e7302b687", "name": "db"},
      8     {"object": "folder", "id": "cedc22c3-5306-489c-81da-c5cc3bc8db69", "name": "email"},
      9     {"object": "folder", "id": "1b228e1b-6b3f-40a3-879e-7497125771a4", "name": "sites"},
     10     {"object": "folder", "id": "06d2c19c-7d41-4a3b-94f2-2fca30d4127b", "name": "wifi"},
     11     {"object": "folder", "id": None, "name": "No Folder"},
     12 ]
     13 
     14 
     15 def main() -> int:
     16     parser = argparse.ArgumentParser(description="Import stuff to bitwarden")
     17     parser.add_argument(
     18         "name",
     19         metavar="NAME",
     20         type=str,
     21         help="name of the password to create",
     22     )
     23     parser.add_argument(
     24         "password",
     25         metavar="PWD",
     26         type=str,
     27         help="password to create",
     28     )
     29     parser.add_argument(
     30         "--user",
     31         help="username if any",
     32     )
     33     parser.add_argument(
     34         "--uri",
     35         help="uri for this password if any",
     36     )
     37     parser.add_argument(
     38         "--folder",
     39         default="sites",
     40         help="name of the folder to put this in",
     41     )
     42 
     43     args = parser.parse_args()
     44 
     45     item = {
     46         "folderId": [f["id"] for f in FOLDERS if f["name"] == args.folder][0],
     47         "name": args.name,
     48         "type": 1,
     49         "login": {"password": args.password},
     50     }
     51 
     52     if args.user:
     53         item["login"]["username"] = args.user
     54 
     55     if args.uri:
     56         item["login"]["uris"] = [{"uri": args.uri}]
     57 
     58     item_json = json.dumps(item)
     59 
     60     encodedBytes = base64.b64encode(item_json.encode("utf-8"))
     61     encodedStr = str(encodedBytes, "utf-8")
     62     print(encodedStr)
     63 
     64     return 0
     65 
     66 
     67 if __name__ == "__main__":
     68     raise SystemExit(main())