├── .circleci └── config.yml ├── .gitignore ├── .pre-commit-config.yaml ├── LICENSE ├── README.md ├── assets ├── beanhub.svg └── forms-screenshot.png ├── beanhub_cli ├── __init__.py ├── aliase.py ├── api_helpers.py ├── auth.py ├── cli.py ├── config.py ├── connect │ ├── __init__.py │ ├── cli.py │ └── main.py ├── encryption.py ├── environment.py ├── file_io.py ├── format.py ├── forms │ ├── __init__.py │ ├── app │ │ ├── __init__.py │ │ ├── constants.py │ │ ├── data │ │ │ └── sample_forms_doc.yaml │ │ ├── deps.py │ │ ├── helpers.py │ │ ├── main.py │ │ ├── routes.py │ │ ├── settings.py │ │ ├── static │ │ │ ├── js │ │ │ │ ├── beanhub-web-react-0.3.0.js │ │ │ │ ├── beanhub-web-react-0.3.0.js.LICENSE.txt │ │ │ │ └── beanhub-web-react-0.3.0.js.map │ │ │ └── vendor │ │ │ │ ├── bootstrap-datepicker │ │ │ │ ├── LICENSE │ │ │ │ ├── css │ │ │ │ │ ├── bootstrap-datepicker.css │ │ │ │ │ ├── bootstrap-datepicker.css.map │ │ │ │ │ └── bootstrap-datepicker.min.css │ │ │ │ ├── js │ │ │ │ │ ├── bootstrap-datepicker.js │ │ │ │ │ └── bootstrap-datepicker.min.js │ │ │ │ └── locales │ │ │ │ │ ├── bootstrap-datepicker-en-CA.min.js │ │ │ │ │ ├── bootstrap-datepicker.ar-DZ.min.js │ │ │ │ │ ├── bootstrap-datepicker.ar-tn.min.js │ │ │ │ │ ├── bootstrap-datepicker.ar.min.js │ │ │ │ │ ├── bootstrap-datepicker.az.min.js │ │ │ │ │ ├── bootstrap-datepicker.bg.min.js │ │ │ │ │ ├── bootstrap-datepicker.bm.min.js │ │ │ │ │ ├── bootstrap-datepicker.bn.min.js │ │ │ │ │ ├── bootstrap-datepicker.br.min.js │ │ │ │ │ ├── bootstrap-datepicker.bs.min.js │ │ │ │ │ ├── bootstrap-datepicker.ca.min.js │ │ │ │ │ ├── bootstrap-datepicker.cs.min.js │ │ │ │ │ ├── bootstrap-datepicker.cy.min.js │ │ │ │ │ ├── bootstrap-datepicker.da.min.js │ │ │ │ │ ├── bootstrap-datepicker.de.min.js │ │ │ │ │ ├── bootstrap-datepicker.el.min.js │ │ │ │ │ ├── bootstrap-datepicker.en-AU.min.js │ │ │ │ │ ├── bootstrap-datepicker.en-CA.min.js │ │ │ │ │ ├── bootstrap-datepicker.en-GB.min.js │ │ │ │ │ ├── bootstrap-datepicker.en-IE.min.js │ │ │ │ │ ├── bootstrap-datepicker.en-NZ.min.js │ │ │ │ │ ├── bootstrap-datepicker.en-US.min.js │ │ │ │ │ ├── bootstrap-datepicker.en-ZA.min.js │ │ │ │ │ ├── bootstrap-datepicker.eo.min.js │ │ │ │ │ ├── bootstrap-datepicker.es.min.js │ │ │ │ │ ├── bootstrap-datepicker.et.min.js │ │ │ │ │ ├── bootstrap-datepicker.eu.min.js │ │ │ │ │ ├── bootstrap-datepicker.fa.min.js │ │ │ │ │ ├── bootstrap-datepicker.fi.min.js │ │ │ │ │ ├── bootstrap-datepicker.fo.min.js │ │ │ │ │ ├── bootstrap-datepicker.fr-CH.min.js │ │ │ │ │ ├── bootstrap-datepicker.fr.min.js │ │ │ │ │ ├── bootstrap-datepicker.gl.min.js │ │ │ │ │ ├── bootstrap-datepicker.he.min.js │ │ │ │ │ ├── bootstrap-datepicker.hi.min.js │ │ │ │ │ ├── bootstrap-datepicker.hr.min.js │ │ │ │ │ ├── bootstrap-datepicker.hu.min.js │ │ │ │ │ ├── bootstrap-datepicker.hy.min.js │ │ │ │ │ ├── bootstrap-datepicker.id.min.js │ │ │ │ │ ├── bootstrap-datepicker.is.min.js │ │ │ │ │ ├── bootstrap-datepicker.it-CH.min.js │ │ │ │ │ ├── bootstrap-datepicker.it.min.js │ │ │ │ │ ├── bootstrap-datepicker.ja.min.js │ │ │ │ │ ├── bootstrap-datepicker.ka.min.js │ │ │ │ │ ├── bootstrap-datepicker.kh.min.js │ │ │ │ │ ├── bootstrap-datepicker.kk.min.js │ │ │ │ │ ├── bootstrap-datepicker.km.min.js │ │ │ │ │ ├── bootstrap-datepicker.ko.min.js │ │ │ │ │ ├── bootstrap-datepicker.kr.min.js │ │ │ │ │ ├── bootstrap-datepicker.lt.min.js │ │ │ │ │ ├── bootstrap-datepicker.lv.min.js │ │ │ │ │ ├── bootstrap-datepicker.me.min.js │ │ │ │ │ ├── bootstrap-datepicker.mk.min.js │ │ │ │ │ ├── bootstrap-datepicker.mn.min.js │ │ │ │ │ ├── bootstrap-datepicker.mr.min.js │ │ │ │ │ ├── bootstrap-datepicker.ms.min.js │ │ │ │ │ ├── bootstrap-datepicker.nl-BE.min.js │ │ │ │ │ ├── bootstrap-datepicker.nl.min.js │ │ │ │ │ ├── bootstrap-datepicker.no.min.js │ │ │ │ │ ├── bootstrap-datepicker.oc.min.js │ │ │ │ │ ├── bootstrap-datepicker.pl.min.js │ │ │ │ │ ├── bootstrap-datepicker.pt-BR.min.js │ │ │ │ │ ├── bootstrap-datepicker.pt.min.js │ │ │ │ │ ├── bootstrap-datepicker.ro.min.js │ │ │ │ │ ├── bootstrap-datepicker.rs-latin.min.js │ │ │ │ │ ├── bootstrap-datepicker.rs.min.js │ │ │ │ │ ├── bootstrap-datepicker.ru.min.js │ │ │ │ │ ├── bootstrap-datepicker.si.min.js │ │ │ │ │ ├── bootstrap-datepicker.sk.min.js │ │ │ │ │ ├── bootstrap-datepicker.sl.min.js │ │ │ │ │ ├── bootstrap-datepicker.sq.min.js │ │ │ │ │ ├── bootstrap-datepicker.sr-latin.min.js │ │ │ │ │ ├── bootstrap-datepicker.sr.min.js │ │ │ │ │ ├── bootstrap-datepicker.sv.min.js │ │ │ │ │ ├── bootstrap-datepicker.sw.min.js │ │ │ │ │ ├── bootstrap-datepicker.ta.min.js │ │ │ │ │ ├── bootstrap-datepicker.tg.min.js │ │ │ │ │ ├── bootstrap-datepicker.th.min.js │ │ │ │ │ ├── bootstrap-datepicker.tk.min.js │ │ │ │ │ ├── bootstrap-datepicker.tr.min.js │ │ │ │ │ ├── bootstrap-datepicker.uk.min.js │ │ │ │ │ ├── bootstrap-datepicker.uz-cyrl.min.js │ │ │ │ │ ├── bootstrap-datepicker.uz-latn.min.js │ │ │ │ │ ├── bootstrap-datepicker.vi.min.js │ │ │ │ │ ├── bootstrap-datepicker.zh-CN.min.js │ │ │ │ │ └── bootstrap-datepicker.zh-TW.min.js │ │ │ │ ├── fontawesome6 │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── css │ │ │ │ │ └── all.min.css │ │ │ │ └── webfonts │ │ │ │ │ ├── fa-brands-400.ttf │ │ │ │ │ ├── fa-brands-400.woff2 │ │ │ │ │ ├── fa-regular-400.ttf │ │ │ │ │ ├── fa-regular-400.woff2 │ │ │ │ │ ├── fa-solid-900.ttf │ │ │ │ │ ├── fa-solid-900.woff2 │ │ │ │ │ ├── fa-v4compatibility.ttf │ │ │ │ │ └── fa-v4compatibility.woff2 │ │ │ │ └── select2 │ │ │ │ ├── LICENSE.md │ │ │ │ ├── css │ │ │ │ ├── select2.css │ │ │ │ └── select2.min.css │ │ │ │ └── js │ │ │ │ ├── i18n │ │ │ │ ├── af.js │ │ │ │ ├── ar.js │ │ │ │ ├── az.js │ │ │ │ ├── bg.js │ │ │ │ ├── bn.js │ │ │ │ ├── bs.js │ │ │ │ ├── ca.js │ │ │ │ ├── cs.js │ │ │ │ ├── da.js │ │ │ │ ├── de.js │ │ │ │ ├── dsb.js │ │ │ │ ├── el.js │ │ │ │ ├── en.js │ │ │ │ ├── eo.js │ │ │ │ ├── es.js │ │ │ │ ├── et.js │ │ │ │ ├── eu.js │ │ │ │ ├── fa.js │ │ │ │ ├── fi.js │ │ │ │ ├── fr.js │ │ │ │ ├── gl.js │ │ │ │ ├── he.js │ │ │ │ ├── hi.js │ │ │ │ ├── hr.js │ │ │ │ ├── hsb.js │ │ │ │ ├── hu.js │ │ │ │ ├── hy.js │ │ │ │ ├── id.js │ │ │ │ ├── is.js │ │ │ │ ├── it.js │ │ │ │ ├── ja.js │ │ │ │ ├── ka.js │ │ │ │ ├── km.js │ │ │ │ ├── ko.js │ │ │ │ ├── lt.js │ │ │ │ ├── lv.js │ │ │ │ ├── mk.js │ │ │ │ ├── ms.js │ │ │ │ ├── nb.js │ │ │ │ ├── ne.js │ │ │ │ ├── nl.js │ │ │ │ ├── pa.js │ │ │ │ ├── pl.js │ │ │ │ ├── ps.js │ │ │ │ ├── pt-BR.js │ │ │ │ ├── pt.js │ │ │ │ ├── ro.js │ │ │ │ ├── ru.js │ │ │ │ ├── sk.js │ │ │ │ ├── sl.js │ │ │ │ ├── sq.js │ │ │ │ ├── sr-Cyrl.js │ │ │ │ ├── sr.js │ │ │ │ ├── sv.js │ │ │ │ ├── te.js │ │ │ │ ├── th.js │ │ │ │ ├── tk.js │ │ │ │ ├── tr.js │ │ │ │ ├── uk.js │ │ │ │ ├── vi.js │ │ │ │ ├── zh-CN.js │ │ │ │ └── zh-TW.js │ │ │ │ ├── select2.full.js │ │ │ │ ├── select2.full.min.js │ │ │ │ ├── select2.js │ │ │ │ └── select2.min.js │ │ └── templates │ │ │ ├── errors.html │ │ │ ├── flash_messages.html │ │ │ ├── footer.html │ │ │ ├── form.html │ │ │ ├── home.html │ │ │ └── layout.html │ ├── cli.py │ ├── main.py │ └── validator.py ├── import_cli.py ├── inbox │ ├── __init__.py │ ├── cli.py │ └── main.py ├── internal_api │ ├── __init__.py │ ├── api │ │ ├── __init__.py │ │ ├── auth │ │ │ ├── __init__.py │ │ │ ├── create_auth_session.py │ │ │ └── poll_auth_session.py │ │ ├── connect │ │ │ ├── __init__.py │ │ │ ├── create_dump_request.py │ │ │ ├── create_sync_batch.py │ │ │ ├── get_dump_request.py │ │ │ └── get_sync_batch.py │ │ ├── inbox │ │ │ ├── __init__.py │ │ │ ├── create_inbox_dump_request.py │ │ │ ├── get_inbox_dump_request.py │ │ │ └── get_inbox_emails.py │ │ └── repo │ │ │ ├── __init__.py │ │ │ └── list_repo.py │ ├── client.py │ ├── errors.py │ ├── models │ │ ├── __init__.py │ │ ├── auth_session_not_ready_response.py │ │ ├── auth_session_poll_response.py │ │ ├── auth_session_request.py │ │ ├── auth_session_response.py │ │ ├── create_dump_request_request.py │ │ ├── create_dump_request_response.py │ │ ├── create_inbox_dump_request.py │ │ ├── create_inbox_dump_request_response.py │ │ ├── create_sync_batch_response.py │ │ ├── dump_request_state.py │ │ ├── generic_error.py │ │ ├── get_dump_request_response.py │ │ ├── get_inbox_dump_request_response.py │ │ ├── get_inbox_email_response.py │ │ ├── get_sync_batch_response.py │ │ ├── http_validation_error.py │ │ ├── inbox_dump_request_state.py │ │ ├── inbox_email.py │ │ ├── inbox_email_headers.py │ │ ├── item_data.py │ │ ├── list_repositories_response.py │ │ ├── plaid_item_sync_state.py │ │ ├── repository.py │ │ ├── repository_type.py │ │ ├── sync_data.py │ │ └── validation_error.py │ ├── py.typed │ └── types.py ├── login.py └── main.py ├── data ├── internal-api-config.yaml └── internal-openapi.json ├── docs ├── docs │ ├── assets │ │ ├── favicon.svg │ │ └── logo.svg │ ├── commands │ │ ├── connect.md │ │ ├── form.md │ │ ├── format.md │ │ ├── import.md │ │ └── login.md │ ├── getting-started.md │ ├── img │ │ ├── auth-session-screenshot.png │ │ ├── beanhub-connect-list.png │ │ ├── beanhub-connect-pop-up.png │ │ └── forms-screenshot.png │ └── index.md ├── mkdocs.yml ├── netlify.toml ├── overrides │ └── partials │ │ └── integrations │ │ └── analytics │ │ └── custom.html └── requirements.txt ├── pyproject.toml ├── pytest.ini ├── scripts └── gen-internal-api.sh ├── tests ├── __init__.py ├── conftest.py ├── connect │ ├── __init__.py │ ├── test_dump.py │ ├── test_encryption.py │ └── test_sync.py ├── factories.py ├── forms │ ├── __init__.py │ ├── app │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── test_forms.py │ │ └── types_def.py │ └── test_validator.py ├── helper.py ├── inbox │ ├── __init__.py │ └── test_dump.py ├── test_format.py └── test_login.py └── uv.lock /.circleci/config.yml: -------------------------------------------------------------------------------- 1 | # Use the latest 2.1 version of CircleCI pipeline process engine. 2 | # See: https://circleci.com/docs/2.0/configuration-reference 3 | version: 2.1 4 | 5 | orbs: 6 | python: circleci/python@2.1.1 7 | 8 | jobs: 9 | test: 10 | docker: 11 | - image: cimg/python:3.10.14 12 | steps: 13 | - checkout 14 | - run: 15 | name: Install uv 16 | command: pip install uv 17 | - run: 18 | name: Run test 19 | command: uv run python -m pytest ./tests -svvvv 20 | build-and-publish: 21 | docker: 22 | - image: cimg/python:3.10.14 23 | steps: 24 | - checkout 25 | - run: 26 | name: Install uv 27 | command: pip install uv 28 | - run: 29 | name: Build 30 | command: uv build 31 | - run: 32 | name: Publish 33 | command: uv publish 34 | 35 | workflows: 36 | build-and-publish: 37 | jobs: 38 | - test: 39 | filters: 40 | # needed for deploy build 41 | # ref: https://discuss.circleci.com/t/builds-for-tags-not-triggering/17681/7 42 | tags: 43 | only: /^.*/ 44 | - build-and-publish: 45 | requires: 46 | - test 47 | filters: 48 | branches: 49 | ignore: /.*/ 50 | tags: 51 | only: /^.*/ 52 | -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- 1 | repos: 2 | - repo: https://github.com/astral-sh/ruff-pre-commit 3 | # Ruff version. 4 | rev: v0.9.2 5 | hooks: 6 | # Run the formatter. 7 | - id: ruff-format 8 | - repo: https://github.com/asottile/reorder_python_imports 9 | rev: v3.10.0 10 | hooks: 11 | - id: reorder-python-imports 12 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Launch Platform 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /assets/forms-screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LaunchPlatform/beanhub-cli/f9a97e92bcbdb7e3ff7fc51bbcee9657503edf34/assets/forms-screenshot.png -------------------------------------------------------------------------------- /beanhub_cli/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LaunchPlatform/beanhub-cli/f9a97e92bcbdb7e3ff7fc51bbcee9657503edf34/beanhub_cli/__init__.py -------------------------------------------------------------------------------- /beanhub_cli/aliase.py: -------------------------------------------------------------------------------- 1 | import click 2 | from click.core import Context 3 | 4 | CMD_ALIAS_MAP = { 5 | "ls": "list", 6 | "fmt": "format", 7 | } 8 | 9 | 10 | class AliasedGroup(click.Group): 11 | def get_command(self, ctx: Context, cmd_name: str): 12 | if cmd_name in CMD_ALIAS_MAP: 13 | cmd_name = CMD_ALIAS_MAP[cmd_name] 14 | rv = click.Group.get_command(self, ctx, cmd_name) 15 | if rv is not None: 16 | return rv 17 | matches = [x for x in self.list_commands(ctx) if x.startswith(cmd_name)] 18 | if not matches: 19 | return None 20 | elif len(matches) == 1: 21 | return click.Group.get_command(self, ctx, matches[0]) 22 | ctx.fail(f"Too many matches: {', '.join(sorted(matches))}") 23 | 24 | def resolve_command(self, ctx: Context, args: list[str]): 25 | # always return the full command name 26 | _, cmd, args = super().resolve_command(ctx, args) 27 | return cmd.name, cmd, args 28 | -------------------------------------------------------------------------------- /beanhub_cli/api_helpers.py: -------------------------------------------------------------------------------- 1 | import functools 2 | import json 3 | import logging 4 | import sys 5 | import typing 6 | 7 | 8 | def handle_api_exception(logger: logging.Logger | None = None): 9 | def decorator(func: typing.Callable): 10 | @functools.wraps(func) 11 | def callee(*args, **kwargs): 12 | from .internal_api.errors import UnexpectedStatus 13 | from .internal_api.models import GenericError 14 | 15 | try: 16 | return func(*args, **kwargs) 17 | except UnexpectedStatus as exp: 18 | log = logger or logging.getLogger(__name__) 19 | error = None 20 | try: 21 | error = GenericError.from_dict(json.loads(exp.content)) 22 | except ValueError: 23 | pass 24 | log.error( 25 | "Failed to make BeanHub API call with code %s and error: %s", 26 | exp.status_code, 27 | error.detail if error is not None else exp.content, 28 | ) 29 | sys.exit(-1) 30 | 31 | return callee 32 | 33 | return decorator 34 | -------------------------------------------------------------------------------- /beanhub_cli/cli.py: -------------------------------------------------------------------------------- 1 | import logging 2 | import os 3 | 4 | import click 5 | from rich.logging import Console 6 | from rich.logging import RichHandler 7 | 8 | from .aliase import AliasedGroup 9 | from .environment import Environment 10 | from .environment import LOG_LEVEL_MAP 11 | from .environment import LogLevel 12 | from .environment import pass_env 13 | 14 | 15 | @click.group(help="Command line tools for BeanHub", cls=AliasedGroup) 16 | @click.option( 17 | "-l", 18 | "--log-level", 19 | type=click.Choice( 20 | list(map(lambda key: key.value, LOG_LEVEL_MAP.keys())), case_sensitive=False 21 | ), 22 | default=lambda: os.environ.get("LOG_LEVEL", "INFO"), 23 | ) 24 | @click.version_option(prog_name="beanhub-cli", package_name="beanhub-cli") 25 | @pass_env 26 | def cli(env: Environment, log_level: str): 27 | env.log_level = LogLevel(log_level) 28 | FORMAT = "%(message)s" 29 | console = Console(stderr=True) 30 | logging.basicConfig( 31 | level=LOG_LEVEL_MAP[env.log_level], 32 | format=FORMAT, 33 | datefmt="[%X]", 34 | handlers=[RichHandler(console=console)], 35 | force=True, 36 | ) 37 | httpx_logger = logging.getLogger("httpx") 38 | httpx_logger.level = logging.WARNING 39 | -------------------------------------------------------------------------------- /beanhub_cli/config.py: -------------------------------------------------------------------------------- 1 | import pathlib 2 | 3 | from pydantic import BaseModel 4 | 5 | 6 | class AccessToken(BaseModel): 7 | token: str 8 | 9 | 10 | class Repository(BaseModel): 11 | default: str | None = None 12 | 13 | 14 | class Config(BaseModel): 15 | access_token: AccessToken | None = None 16 | repo: Repository | None = None 17 | 18 | 19 | def get_config_path() -> pathlib.Path: 20 | return pathlib.Path.home() / ".beanhub" / "config.toml" 21 | 22 | 23 | def load_config(file_path: pathlib.Path | None = None) -> Config | None: 24 | import tomli 25 | 26 | if file_path is None: 27 | file_path = get_config_path() 28 | if not file_path.exists(): 29 | return 30 | 31 | with file_path.open("rb") as fo: 32 | obj = tomli.load(fo) 33 | return Config.model_validate(obj) 34 | 35 | 36 | def save_config(config: Config, file_path: pathlib.Path | None = None): 37 | import tomli_w 38 | 39 | if file_path is None: 40 | file_path = get_config_path() 41 | file_path.parent.mkdir(parents=True, exist_ok=True) 42 | 43 | file_path.write_text("") 44 | file_path.chmod(0o600) 45 | # TODO: for now we save the config as plaintext. We should consider to use OS keychain service in the future 46 | # for better security 47 | with file_path.open("wb") as fo: 48 | obj = config.model_dump(mode="json", exclude_none=True) 49 | tomli_w.dump(obj, fo) 50 | -------------------------------------------------------------------------------- /beanhub_cli/connect/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LaunchPlatform/beanhub-cli/f9a97e92bcbdb7e3ff7fc51bbcee9657503edf34/beanhub_cli/connect/__init__.py -------------------------------------------------------------------------------- /beanhub_cli/connect/cli.py: -------------------------------------------------------------------------------- 1 | from ..aliase import AliasedGroup 2 | from ..cli import cli as root_cli 3 | 4 | 5 | @root_cli.group( 6 | name="connect", 7 | help="BeanHub Connect features, such as sync or dump (login required).", 8 | cls=AliasedGroup, 9 | ) 10 | def cli(): 11 | pass 12 | -------------------------------------------------------------------------------- /beanhub_cli/encryption.py: -------------------------------------------------------------------------------- 1 | import io 2 | 3 | from cryptography.hazmat.primitives import padding 4 | from cryptography.hazmat.primitives.ciphers import algorithms 5 | from cryptography.hazmat.primitives.ciphers import Cipher 6 | from cryptography.hazmat.primitives.ciphers import modes 7 | 8 | 9 | def decrypt_file( 10 | input_file: io.BytesIO, output_file: io.BytesIO, iv: bytes, key: bytes 11 | ): 12 | cipher = Cipher(algorithms.AES256(key), modes.CBC(iv)) 13 | decryptor = cipher.decryptor() 14 | padder = padding.PKCS7(128).unpadder() 15 | while True: 16 | chunk = input_file.read(4096) 17 | if not chunk: 18 | break 19 | decrypted = decryptor.update(chunk) 20 | unpadded_chunk = padder.update(decrypted) 21 | output_file.write(unpadded_chunk) 22 | output_file.write(padder.update(decryptor.finalize())) 23 | output_file.write(padder.finalize()) 24 | output_file.flush() 25 | output_file.seek(0) 26 | -------------------------------------------------------------------------------- /beanhub_cli/environment.py: -------------------------------------------------------------------------------- 1 | import dataclasses 2 | import enum 3 | import logging 4 | import os 5 | 6 | import click 7 | from beancount_black.formatter import VERBOSE_LOG_LEVEL 8 | 9 | 10 | @enum.unique 11 | class LogLevel(enum.Enum): 12 | VERBOSE = "verbose" 13 | DEBUG = "debug" 14 | INFO = "info" 15 | WARNING = "warning" 16 | ERROR = "error" 17 | FATAL = "fatal" 18 | 19 | 20 | LOG_LEVEL_MAP = { 21 | LogLevel.VERBOSE: VERBOSE_LOG_LEVEL, 22 | LogLevel.DEBUG: logging.DEBUG, 23 | LogLevel.INFO: logging.INFO, 24 | LogLevel.WARNING: logging.WARNING, 25 | LogLevel.ERROR: logging.ERROR, 26 | LogLevel.FATAL: logging.FATAL, 27 | } 28 | 29 | 30 | @dataclasses.dataclass 31 | class Environment: 32 | log_level: LogLevel = LogLevel.INFO 33 | logger: logging.Logger = logging.getLogger("beanhub_cli") 34 | api_base_url: str = os.getenv("BEANHUB_API_URL", "https://api.beanhub.io") 35 | 36 | 37 | pass_env = click.make_pass_decorator(Environment, ensure=True) 38 | -------------------------------------------------------------------------------- /beanhub_cli/file_io.py: -------------------------------------------------------------------------------- 1 | import io 2 | import logging 3 | import pathlib 4 | import sys 5 | import tarfile 6 | 7 | 8 | def extract_tar(input_file: io.BytesIO, logger: logging.Logger): 9 | with tarfile.open(fileobj=input_file, mode="r:gz") as tar_file: 10 | if hasattr(tarfile, "data_filter"): 11 | tar_file.extractall(filter="data") 12 | else: 13 | logger.warning("Performing unsafe tar file extracting") 14 | tar_file.extractall() 15 | 16 | 17 | def extract_inbox_tar( 18 | input_file: io.BytesIO, 19 | email_output_paths: dict[str, pathlib.Path], 20 | workdir_path: pathlib.Path, 21 | unsafe_tar_extract: bool, 22 | logger: logging.Logger, 23 | ): 24 | with tarfile.open(fileobj=input_file, mode="r:gz") as tar_file: 25 | for member in tar_file: 26 | if not member.isreg(): 27 | continue 28 | member_path = pathlib.PurePosixPath(member.name) 29 | email_id = member_path.stem 30 | output_path = email_output_paths.get(email_id) 31 | if output_path is None: 32 | logger.error("Cannot find output path for email %s", email_id) 33 | sys.exit(-1) 34 | output_path.parent.mkdir(exist_ok=True, parents=True) 35 | logger.info( 36 | "Writing email [green]%s[/] to [green]%s[/]", 37 | email_id, 38 | output_path, 39 | extra={"markup": True, "highlighter": None}, 40 | ) 41 | full_output_path = workdir_path / output_path 42 | has_data_filter = hasattr(tarfile, "data_filter") 43 | if not has_data_filter and not unsafe_tar_extract: 44 | logger.error( 45 | "You need to use Python >= 3.11 in order to safely unpack the downloaded tar file, or you need to pass " 46 | "in --unsafe-tar-extract argument to allow unsafe tar file extracting" 47 | ) 48 | sys.exit(-1) 49 | member.name = output_path.name 50 | tar_file.extract( 51 | member, 52 | full_output_path.parent, 53 | set_attrs=False, 54 | filter="data" if has_data_filter else None, 55 | ) 56 | -------------------------------------------------------------------------------- /beanhub_cli/forms/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LaunchPlatform/beanhub-cli/f9a97e92bcbdb7e3ff7fc51bbcee9657503edf34/beanhub_cli/forms/__init__.py -------------------------------------------------------------------------------- /beanhub_cli/forms/app/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LaunchPlatform/beanhub-cli/f9a97e92bcbdb7e3ff7fc51bbcee9657503edf34/beanhub_cli/forms/app/__init__.py -------------------------------------------------------------------------------- /beanhub_cli/forms/app/constants.py: -------------------------------------------------------------------------------- 1 | import pathlib 2 | 3 | FORMS_PACKAGE_DIR = pathlib.Path(__file__).parent.parent 4 | DATA_DIR = FORMS_PACKAGE_DIR / "app" / "data" 5 | -------------------------------------------------------------------------------- /beanhub_cli/forms/app/data/sample_forms_doc.yaml: -------------------------------------------------------------------------------- 1 | forms: 2 | - name: add-xyz-hours 3 | display_name: "Hours spent on XYZ contracting project" 4 | fields: 5 | - name: date 6 | type: date 7 | display_name: "Date" 8 | required: true 9 | - name: hours 10 | type: number 11 | display_name: "Hours" 12 | required: true 13 | - name: rate 14 | type: number 15 | display_name: "Rate (USD)" 16 | default: "300" 17 | required: true 18 | - name: narration 19 | type: str 20 | default: "Hours spent on the software development project for client XYZ" 21 | display_name: "Narration" 22 | operations: 23 | - type: append 24 | file: "books/{{ date.year }}.bean" 25 | content: | 26 | {{ date }} * {{ narration | tojson }} 27 | Assets:AccountsReceivable:Contracting:XYZ {{ hours }} XYZ.HOUR @ {{ rate }} USD 28 | Income:Contracting:XYZ 29 | -------------------------------------------------------------------------------- /beanhub_cli/forms/app/helpers.py: -------------------------------------------------------------------------------- 1 | import datetime 2 | 3 | from beanhub_forms.data_types.form import FormSchema 4 | from fastapi.encoders import jsonable_encoder 5 | from wtforms import Form as WTForm 6 | 7 | 8 | def convert_fields_for_js(form: WTForm, form_schema: FormSchema) -> list: 9 | fields = jsonable_encoder(form_schema.fields, exclude_unset=True) 10 | for field in fields: 11 | field_errors = form.errors.get(field["name"]) 12 | if field_errors is not None: 13 | field["error"] = ", ".join(field_errors) 14 | field_value = form.data.get(field["name"]) 15 | if field_value is not None: 16 | if isinstance(field_value, datetime.date): 17 | field["default"] = field_value.strftime("%Y-%m-%d") 18 | else: 19 | field["default"] = field_value 20 | display_name = field.pop("display_name", None) 21 | if display_name is not None: 22 | # Convert to js naming 23 | field["displayName"] = display_name 24 | return fields 25 | -------------------------------------------------------------------------------- /beanhub_cli/forms/app/main.py: -------------------------------------------------------------------------------- 1 | import logging 2 | 3 | from fastapi import FastAPI 4 | from fastapi.staticfiles import StaticFiles 5 | from starlette.middleware import Middleware 6 | from starlette.middleware.sessions import SessionMiddleware 7 | from starlette_wtf import CSRFProtectMiddleware 8 | 9 | from . import constants 10 | from .routes import router 11 | from .settings import settings 12 | 13 | logging.basicConfig(level=logging.INFO if not settings.DEBUG_LOG else logging.DEBUG) 14 | 15 | 16 | def make_app() -> FastAPI: 17 | app = FastAPI( 18 | openapi_url="", 19 | middleware=[ 20 | Middleware( 21 | SessionMiddleware, 22 | secret_key=settings.SECRET_KEY, 23 | max_age=settings.SESSION_MAX_AGE, 24 | ), 25 | Middleware(CSRFProtectMiddleware, csrf_secret=settings.SECRET_KEY), 26 | ], 27 | docs_url=None, 28 | redoc_url=None, 29 | ) 30 | 31 | app.include_router(router) 32 | app.mount( 33 | "/static", 34 | StaticFiles(directory=constants.FORMS_PACKAGE_DIR / "app" / "static"), 35 | name="static", 36 | ) 37 | return app 38 | -------------------------------------------------------------------------------- /beanhub_cli/forms/app/settings.py: -------------------------------------------------------------------------------- 1 | import pathlib 2 | import secrets 3 | import typing 4 | 5 | from pydantic import ConfigDict 6 | from pydantic_settings import BaseSettings 7 | 8 | 9 | class Settings(BaseSettings): 10 | model_config = ConfigDict(case_sensitive=True) 11 | SITE_NAME: str = "BeanHub Forms" 12 | DEBUG_LOG: bool = False 13 | SECRET_KEY: str = secrets.token_urlsafe(32) 14 | SESSION_MAX_AGE: int = 14 * 24 * 60 * 60 # 14 days, in seconds 15 | BEANCOUNT_DIR: pathlib.Path = pathlib.Path.cwd() 16 | 17 | 18 | # Do not import and access this directly, use settings instead 19 | _settings = Settings() 20 | 21 | 22 | class SettingsProxy: 23 | def __init__(self, get_settings: typing.Callable[[], Settings]): 24 | self._get_settings = get_settings 25 | 26 | def __getattr__(self, item: str) -> typing.Any: 27 | global_settings = self._get_settings() 28 | return getattr(global_settings, item) 29 | 30 | 31 | settings: Settings = SettingsProxy(lambda: _settings) 32 | -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/js/beanhub-web-react-0.3.0.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /* 2 | object-assign 3 | (c) Sindre Sorhus 4 | @license MIT 5 | */ 6 | 7 | /** @license React v0.20.2 8 | * scheduler.production.min.js 9 | * 10 | * Copyright (c) Facebook, Inc. and its affiliates. 11 | * 12 | * This source code is licensed under the MIT license found in the 13 | * LICENSE file in the root directory of this source tree. 14 | */ 15 | 16 | /** @license React v16.13.1 17 | * react-is.production.min.js 18 | * 19 | * Copyright (c) Facebook, Inc. and its affiliates. 20 | * 21 | * This source code is licensed under the MIT license found in the 22 | * LICENSE file in the root directory of this source tree. 23 | */ 24 | 25 | /** @license React v17.0.2 26 | * react-dom.production.min.js 27 | * 28 | * Copyright (c) Facebook, Inc. and its affiliates. 29 | * 30 | * This source code is licensed under the MIT license found in the 31 | * LICENSE file in the root directory of this source tree. 32 | */ 33 | 34 | /** @license React v17.0.2 35 | * react-jsx-runtime.production.min.js 36 | * 37 | * Copyright (c) Facebook, Inc. and its affiliates. 38 | * 39 | * This source code is licensed under the MIT license found in the 40 | * LICENSE file in the root directory of this source tree. 41 | */ 42 | 43 | /** @license React v17.0.2 44 | * react.production.min.js 45 | * 46 | * Copyright (c) Facebook, Inc. and its affiliates. 47 | * 48 | * This source code is licensed under the MIT license found in the 49 | * LICENSE file in the root directory of this source tree. 50 | */ 51 | -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker-en-CA.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["en-CA"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:0,format:"yyyy-mm-dd"},a.fn.datepicker.deprecated("This filename doesn't follow the convention, use bootstrap-datepicker.en-CA.js instead.")}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.ar-DZ.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["ar-DZ"]={days:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد"],daysShort:["أحد","اثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت","أحد"],daysMin:["ح","ن","ث","ع","خ","ج","س","ح"],months:["جانفي","فيفري","مارس","أفريل","ماي","جوان","جويليه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],monthsShort:["جانفي","فيفري","مارس","أفريل","ماي","جوان","جويليه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],today:"هذا اليوم",rtl:!0,monthsTitle:"أشهر",clear:"إزالة",format:"yyyy/mm/dd",weekStart:0}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.ar-tn.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["ar-tn"]={days:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد"],daysShort:["أحد","اثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت","أحد"],daysMin:["ح","ن","ث","ع","خ","ج","س","ح"],months:["جانفي","فيفري","مارس","أفريل","ماي","جوان","جويليه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],monthsShort:["جانفي","فيفري","مارس","أفريل","ماي","جوان","جويليه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],today:"هذا اليوم",rtl:!0}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.ar.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.ar={days:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد"],daysShort:["أحد","اثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت","أحد"],daysMin:["ح","ن","ث","ع","خ","ج","س","ح"],months:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],monthsShort:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],today:"هذا اليوم",rtl:!0}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.az.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.az={days:["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"],daysShort:["B.","B.e","Ç.a","Ç.","C.a","C.","Ş."],daysMin:["B.","B.e","Ç.a","Ç.","C.a","C.","Ş."],months:["Yanvar","Fevral","Mart","Aprel","May","İyun","İyul","Avqust","Sentyabr","Oktyabr","Noyabr","Dekabr"],monthsShort:["Yan","Fev","Mar","Apr","May","İyun","İyul","Avq","Sen","Okt","Noy","Dek"],today:"Bu gün",weekStart:1,clear:"Təmizlə",monthsTitle:"Aylar"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.bg.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.bg={days:["Неделя","Понеделник","Вторник","Сряда","Четвъртък","Петък","Събота"],daysShort:["Нед","Пон","Вто","Сря","Чет","Пет","Съб"],daysMin:["Н","П","В","С","Ч","П","С"],months:["Януари","Февруари","Март","Април","Май","Юни","Юли","Август","Септември","Октомври","Ноември","Декември"],monthsShort:["Ян","Фев","Мар","Апр","Май","Юни","Юли","Авг","Сеп","Окт","Ное","Дек"],today:"днес"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.bm.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.bm={days:["Kari","Ntɛnɛn","Tarata","Araba","Alamisa","Juma","Sibiri"],daysShort:["Kar","Ntɛ","Tar","Ara","Ala","Jum","Sib"],daysMin:["Ka","Nt","Ta","Ar","Al","Ju","Si"],months:["Zanwuyekalo","Fewuruyekalo","Marisikalo","Awirilikalo","Mɛkalo","Zuwɛnkalo","Zuluyekalo","Utikalo","Sɛtanburukalo","ɔkutɔburukalo","Nowanburukalo","Desanburukalo"],monthsShort:["Zan","Few","Mar","Awi","Mɛ","Zuw","Zul","Uti","Sɛt","ɔku","Now","Des"],today:"Bi",monthsTitle:"Kalo",clear:"Ka jɔsi",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.bn.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.bn={days:["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"],daysShort:["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"],daysMin:["রবি","সোম","মঙ্গল","বুধ","বৃহস্পতি","শুক্র","শনি"],months:["জানুয়ারী","ফেব্রুয়ারি","মার্চ","এপ্রিল","মে","জুন","জুলাই","অগাস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর"],monthsShort:["জানুয়ারী","ফেব্রুয়ারি","মার্চ","এপ্রিল","মে","জুন","জুলাই","অগাস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর"],today:"আজ",monthsTitle:"মাস",clear:"পরিষ্কার",weekStart:0,format:"mm/dd/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.br.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.br={days:["Sul","Lun","Meurzh","Merc'her","Yaou","Gwener","Sadorn"],daysShort:["Sul","Lun","Meu.","Mer.","Yao.","Gwe.","Sad."],daysMin:["Su","L","Meu","Mer","Y","G","Sa"],months:["Genver","C'hwevrer","Meurzh","Ebrel","Mae","Mezheven","Gouere","Eost","Gwengolo","Here","Du","Kerzu"],monthsShort:["Genv.","C'hw.","Meur.","Ebre.","Mae","Mezh.","Goue.","Eost","Gwen.","Here","Du","Kerz."],today:"Hiziv",monthsTitle:"Miz",clear:"Dilemel",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.bs.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.bs={days:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],daysMin:["N","Po","U","Sr","Č","Pe","Su"],months:["Januar","Februar","Mart","April","Maj","Juni","Juli","August","Septembar","Oktobar","Novembar","Decembar"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],today:"Danas",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.ca.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.ca={days:["diumenge","dilluns","dimarts","dimecres","dijous","divendres","dissabte"],daysShort:["dg.","dl.","dt.","dc.","dj.","dv.","ds."],daysMin:["dg","dl","dt","dc","dj","dv","ds"],months:["gener","febrer","març","abril","maig","juny","juliol","agost","setembre","octubre","novembre","desembre"],monthsShort:["gen.","febr.","març","abr.","maig","juny","jul.","ag.","set.","oct.","nov.","des."],today:"Avui",monthsTitle:"Mesos",clear:"Esborra",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.cs.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.cs={days:["Neděle","Pondělí","Úterý","Středa","Čtvrtek","Pátek","Sobota"],daysShort:["Ned","Pon","Úte","Stř","Čtv","Pát","Sob"],daysMin:["Ne","Po","Út","St","Čt","Pá","So"],months:["Leden","Únor","Březen","Duben","Květen","Červen","Červenec","Srpen","Září","Říjen","Listopad","Prosinec"],monthsShort:["Led","Úno","Bře","Dub","Kvě","Čer","Čnc","Srp","Zář","Říj","Lis","Pro"],today:"Dnes",clear:"Vymazat",monthsTitle:"Měsíc",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.cy.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.cy={days:["Sul","Llun","Mawrth","Mercher","Iau","Gwener","Sadwrn"],daysShort:["Sul","Llu","Maw","Mer","Iau","Gwe","Sad"],daysMin:["Su","Ll","Ma","Me","Ia","Gwe","Sa"],months:["Ionawr","Chewfror","Mawrth","Ebrill","Mai","Mehefin","Gorfennaf","Awst","Medi","Hydref","Tachwedd","Rhagfyr"],monthsShort:["Ion","Chw","Maw","Ebr","Mai","Meh","Gor","Aws","Med","Hyd","Tach","Rha"],today:"Heddiw"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.da.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.da={days:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"],daysShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],daysMin:["Sø","Ma","Ti","On","To","Fr","Lø"],months:["Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],today:"I Dag",weekStart:1,clear:"Nulstil",format:"dd/mm/yyyy",monthsTitle:"Måneder"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.de.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.de={days:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],daysShort:["So","Mo","Di","Mi","Do","Fr","Sa"],daysMin:["So","Mo","Di","Mi","Do","Fr","Sa"],months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthsShort:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],today:"Heute",monthsTitle:"Monate",clear:"Löschen",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.el.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.el={days:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],daysShort:["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],daysMin:["Κυ","Δε","Τρ","Τε","Πε","Πα","Σα"],months:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],monthsShort:["Ιαν","Φεβ","Μαρ","Απρ","Μάι","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],today:"Σήμερα",clear:"Καθαρισμός",weekStart:1,format:"d/m/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.en-AU.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["en-AU"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"d/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.en-CA.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["en-CA"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:0,format:"yyyy-mm-dd"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.en-GB.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["en-GB"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.en-IE.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["en-IE"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.en-NZ.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["en-NZ"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"d/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.en-US.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["en-US"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:0,format:"m/d/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.en-ZA.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["en-ZA"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"yyyy/mm/d"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.eo.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.eo={days:["dimanĉo","lundo","mardo","merkredo","ĵaŭdo","vendredo","sabato"],daysShort:["dim.","lun.","mar.","mer.","ĵaŭ.","ven.","sam."],daysMin:["d","l","ma","me","ĵ","v","s"],months:["januaro","februaro","marto","aprilo","majo","junio","julio","aŭgusto","septembro","oktobro","novembro","decembro"],monthsShort:["jan.","feb.","mar.","apr.","majo","jun.","jul.","aŭg.","sep.","okt.","nov.","dec."],today:"Hodiaŭ",clear:"Nuligi",weekStart:1,format:"yyyy-mm-dd"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.es.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.es={days:["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"],daysShort:["Dom","Lun","Mar","Mié","Jue","Vie","Sáb"],daysMin:["Do","Lu","Ma","Mi","Ju","Vi","Sa"],months:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],monthsShort:["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],today:"Hoy",monthsTitle:"Meses",clear:"Borrar",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.et.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.et={days:["Pühapäev","Esmaspäev","Teisipäev","Kolmapäev","Neljapäev","Reede","Laupäev"],daysShort:["Pühap","Esmasp","Teisip","Kolmap","Neljap","Reede","Laup"],daysMin:["P","E","T","K","N","R","L"],months:["Jaanuar","Veebruar","Märts","Aprill","Mai","Juuni","Juuli","August","September","Oktoober","November","Detsember"],monthsShort:["Jaan","Veebr","Märts","Apr","Mai","Juuni","Juuli","Aug","Sept","Okt","Nov","Dets"],today:"Täna",clear:"Tühjenda",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.eu.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.eu={days:["Igandea","Astelehena","Asteartea","Asteazkena","Osteguna","Ostirala","Larunbata"],daysShort:["Ig","Al","Ar","Az","Og","Ol","Lr"],daysMin:["Ig","Al","Ar","Az","Og","Ol","Lr"],months:["Urtarrila","Otsaila","Martxoa","Apirila","Maiatza","Ekaina","Uztaila","Abuztua","Iraila","Urria","Azaroa","Abendua"],monthsShort:["Urt","Ots","Mar","Api","Mai","Eka","Uzt","Abu","Ira","Urr","Aza","Abe"],today:"Gaur",monthsTitle:"Hilabeteak",clear:"Ezabatu",weekStart:1,format:"yyyy/mm/dd"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.fa.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.fa={days:["یک‌شنبه","دوشنبه","سه‌شنبه","چهارشنبه","پنج‌شنبه","جمعه","شنبه","یک‌شنبه"],daysShort:["یک","دو","سه","چهار","پنج","جمعه","شنبه","یک"],daysMin:["ی","د","س","چ","پ","ج","ش","ی"],months:["ژانویه","فوریه","مارس","آوریل","مه","ژوئن","ژوئیه","اوت","سپتامبر","اکتبر","نوامبر","دسامبر"],monthsShort:["ژان","فور","مار","آور","مه","ژون","ژوی","اوت","سپت","اکت","نوا","دسا"],today:"امروز",clear:"پاک کن",weekStart:1,format:"yyyy/mm/dd"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.fi.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.fi={days:["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"],daysShort:["sun","maa","tii","kes","tor","per","lau"],daysMin:["su","ma","ti","ke","to","pe","la"],months:["tammikuu","helmikuu","maaliskuu","huhtikuu","toukokuu","kesäkuu","heinäkuu","elokuu","syyskuu","lokakuu","marraskuu","joulukuu"],monthsShort:["tammi","helmi","maalis","huhti","touko","kesä","heinä","elo","syys","loka","marras","joulu"],today:"tänään",clear:"Tyhjennä",weekStart:1,format:"d.m.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.fo.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.fo={days:["Sunnudagur","Mánadagur","Týsdagur","Mikudagur","Hósdagur","Fríggjadagur","Leygardagur"],daysShort:["Sun","Mán","Týs","Mik","Hós","Frí","Ley"],daysMin:["Su","Má","Tý","Mi","Hó","Fr","Le"],months:["Januar","Februar","Marts","Apríl","Mei","Juni","Juli","August","Septembur","Oktobur","Novembur","Desembur"],monthsShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Des"],today:"Í Dag",clear:"Reinsa"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.fr-CH.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.fr={days:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"],daysShort:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],daysMin:["D","L","Ma","Me","J","V","S"],months:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],monthsShort:["Jan","Fév","Mar","Avr","Mai","Jui","Jul","Aou","Sep","Oct","Nov","Déc"],today:"Aujourd'hui",monthsTitle:"Mois",clear:"Effacer",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.fr.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.fr={days:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],daysShort:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],daysMin:["d","l","ma","me","j","v","s"],months:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],monthsShort:["janv.","févr.","mars","avril","mai","juin","juil.","août","sept.","oct.","nov.","déc."],today:"Aujourd'hui",monthsTitle:"Mois",clear:"Effacer",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.gl.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.gl={days:["Domingo","Luns","Martes","Mércores","Xoves","Venres","Sábado"],daysShort:["Dom","Lun","Mar","Mér","Xov","Ven","Sáb"],daysMin:["Do","Lu","Ma","Me","Xo","Ve","Sa"],months:["Xaneiro","Febreiro","Marzo","Abril","Maio","Xuño","Xullo","Agosto","Setembro","Outubro","Novembro","Decembro"],monthsShort:["Xan","Feb","Mar","Abr","Mai","Xun","Xul","Ago","Sep","Out","Nov","Dec"],today:"Hoxe",clear:"Limpar",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.he.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.he={days:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת","ראשון"],daysShort:["א","ב","ג","ד","ה","ו","ש","א"],daysMin:["א","ב","ג","ד","ה","ו","ש","א"],months:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],monthsShort:["ינו","פבר","מרץ","אפר","מאי","יונ","יול","אוג","ספט","אוק","נוב","דצמ"],today:"היום",rtl:!0}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.hi.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.hi={days:["रविवार","सोमवार","मंगलवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"],daysShort:["सूर्य","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],daysMin:["र","सो","मं","बु","गु","शु","श"],months:["जनवरी","फ़रवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितम्बर","अक्टूबर","नवंबर","दिसम्बर"],monthsShort:["जन","फ़रवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितं","अक्टूबर","नवं","दिसम्बर"],today:"आज",monthsTitle:"महीने",clear:"साफ",weekStart:1,format:"dd / mm / yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.hr.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.hr={days:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],daysMin:["Ne","Po","Ut","Sr","Če","Pe","Su"],months:["Siječanj","Veljača","Ožujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],monthsShort:["Sij","Velj","Ožu","Tra","Svi","Lip","Srp","Kol","Ruj","Lis","Stu","Pro"],today:"Danas"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.hu.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.hu={days:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"],daysShort:["vas","hét","ked","sze","csü","pén","szo"],daysMin:["V","H","K","Sze","Cs","P","Szo"],months:["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december"],monthsShort:["jan","feb","már","ápr","máj","jún","júl","aug","sze","okt","nov","dec"],today:"ma",weekStart:1,clear:"töröl",titleFormat:"yyyy. MM",format:"yyyy.mm.dd"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.hy.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.hy={days:["Կիրակի","Երկուշաբթի","Երեքշաբթի","Չորեքշաբթի","Հինգշաբթի","Ուրբաթ","Շաբաթ"],daysShort:["Կիր","Երկ","Երե","Չոր","Հին","Ուրբ","Շաբ"],daysMin:["Կի","Եկ","Եք","Չո","Հի","Ու","Շա"],months:["Հունվար","Փետրվար","Մարտ","Ապրիլ","Մայիս","Հունիս","Հուլիս","Օգոստոս","Սեպտեմբեր","Հոկտեմբեր","Նոյեմբեր","Դեկտեմբեր"],monthsShort:["Հնվ","Փետ","Մար","Ապր","Մայ","Հուն","Հուլ","Օգս","Սեպ","Հոկ","Նոյ","Դեկ"],today:"Այսօր",clear:"Ջնջել",format:"dd.mm.yyyy",weekStart:1,monthsTitle:"Ամիսնէր"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.id.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.id={days:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],daysShort:["Min","Sen","Sel","Rab","Kam","Jum","Sab"],daysMin:["Mg","Sn","Sl","Rb","Km","Jm","Sb"],months:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],monthsShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agt","Sep","Okt","Nov","Des"],today:"Hari Ini",monthsTitle:"Bulan",clear:"Kosongkan",weekStart:0,format:"dd-mm-yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.is.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.is={days:["Sunnudagur","Mánudagur","Þriðjudagur","Miðvikudagur","Fimmtudagur","Föstudagur","Laugardagur"],daysShort:["Sun","Mán","Þri","Mið","Fim","Fös","Lau"],daysMin:["Su","Má","Þr","Mi","Fi","Fö","La"],months:["Janúar","Febrúar","Mars","Apríl","Maí","Júní","Júlí","Ágúst","September","Október","Nóvember","Desember"],monthsShort:["Jan","Feb","Mar","Apr","Maí","Jún","Júl","Ágú","Sep","Okt","Nóv","Des"],today:"Í Dag"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.it-CH.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.it={days:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],daysShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],daysMin:["Do","Lu","Ma","Me","Gi","Ve","Sa"],months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],monthsShort:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],today:"Oggi",clear:"Cancella",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.it.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.it={days:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],daysShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],daysMin:["Do","Lu","Ma","Me","Gi","Ve","Sa"],months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],monthsShort:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],today:"Oggi",monthsTitle:"Mesi",clear:"Cancella",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.ja.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.ja={days:["日曜","月曜","火曜","水曜","木曜","金曜","土曜"],daysShort:["日","月","火","水","木","金","土"],daysMin:["日","月","火","水","木","金","土"],months:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今日",format:"yyyy/mm/dd",titleFormat:"yyyy年mm月",clear:"クリア"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.ka.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.ka={days:["კვირა","ორშაბათი","სამშაბათი","ოთხშაბათი","ხუთშაბათი","პარასკევი","შაბათი"],daysShort:["კვი","ორშ","სამ","ოთხ","ხუთ","პარ","შაბ"],daysMin:["კვ","ორ","სა","ოთ","ხუ","პა","შა"],months:["იანვარი","თებერვალი","მარტი","აპრილი","მაისი","ივნისი","ივლისი","აგვისტო","სექტემბერი","ოქტომბერი","ნოემბერი","დეკემბერი"],monthsShort:["იან","თებ","მარ","აპრ","მაი","ივნ","ივლ","აგვ","სექ","ოქტ","ნოე","დეკ"],today:"დღეს",clear:"გასუფთავება",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.kh.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.kh={days:["អាទិត្យ","ចន្ទ","អង្គារ","ពុធ","ព្រហស្បតិ៍","សុក្រ","សៅរ៍"],daysShort:["អា.ទិ","ចន្ទ","អង្គារ","ពុធ","ព្រ.ហ","សុក្រ","សៅរ៍"],daysMin:["អា.ទិ","ចន្ទ","អង្គារ","ពុធ","ព្រ.ហ","សុក្រ","សៅរ៍"],months:["មករា","កុម្ភះ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],monthsShort:["មករា","កុម្ភះ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],today:"ថ្ងៃនេះ",clear:"សំអាត"},a.fn.datepicker.deprecated('The language code "kh" is deprecated and will be removed in 2.0. For Khmer support use "km" instead.')}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.kk.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.kk={days:["Жексенбі","Дүйсенбі","Сейсенбі","Сәрсенбі","Бейсенбі","Жұма","Сенбі"],daysShort:["Жек","Дүй","Сей","Сәр","Бей","Жұм","Сен"],daysMin:["Жк","Дс","Сс","Ср","Бс","Жм","Сн"],months:["Қаңтар","Ақпан","Наурыз","Сәуір","Мамыр","Маусым","Шілде","Тамыз","Қыркүйек","Қазан","Қараша","Желтоқсан"],monthsShort:["Қаң","Ақп","Нау","Сәу","Мам","Мау","Шіл","Там","Қыр","Қаз","Қар","Жел"],today:"Бүгін",weekStart:1}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.km.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.km={days:["អាទិត្យ","ចន្ទ","អង្គារ","ពុធ","ព្រហស្បតិ៍","សុក្រ","សៅរ៍"],daysShort:["អា.ទិ","ចន្ទ","អង្គារ","ពុធ","ព្រ.ហ","សុក្រ","សៅរ៍"],daysMin:["អា.ទិ","ចន្ទ","អង្គារ","ពុធ","ព្រ.ហ","សុក្រ","សៅរ៍"],months:["មករា","កុម្ភះ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],monthsShort:["មករា","កុម្ភះ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],today:"ថ្ងៃនេះ",clear:"សំអាត"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.ko.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.ko={days:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],daysShort:["일","월","화","수","목","금","토"],daysMin:["일","월","화","수","목","금","토"],months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],monthsShort:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],today:"오늘",clear:"삭제",format:"yyyy-mm-dd",titleFormat:"yyyy년mm월",weekStart:0}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.kr.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.kr={days:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],daysShort:["일","월","화","수","목","금","토"],daysMin:["일","월","화","수","목","금","토"],months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],monthsShort:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"]},a.fn.datepicker.deprecated('The language code "kr" is deprecated and will be removed in 2.0. For korean support use "ko" instead.')}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.lt.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.lt={days:["Sekmadienis","Pirmadienis","Antradienis","Trečiadienis","Ketvirtadienis","Penktadienis","Šeštadienis"],daysShort:["S","Pr","A","T","K","Pn","Š"],daysMin:["Sk","Pr","An","Tr","Ke","Pn","Št"],months:["Sausis","Vasaris","Kovas","Balandis","Gegužė","Birželis","Liepa","Rugpjūtis","Rugsėjis","Spalis","Lapkritis","Gruodis"],monthsShort:["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rugp","Rugs","Spa","Lap","Gru"],today:"Šiandien",monthsTitle:"Mėnesiai",clear:"Išvalyti",weekStart:1,format:"yyyy-mm-dd"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.lv.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.lv={days:["Svētdiena","Pirmdiena","Otrdiena","Trešdiena","Ceturtdiena","Piektdiena","Sestdiena"],daysShort:["Sv","P","O","T","C","Pk","S"],daysMin:["Sv","Pr","Ot","Tr","Ce","Pk","Se"],months:["Janvāris","Februāris","Marts","Aprīlis","Maijs","Jūnijs","Jūlijs","Augusts","Septembris","Oktobris","Novembris","Decembris"],monthsShort:["Jan","Feb","Mar","Apr","Mai","Jūn","Jūl","Aug","Sep","Okt","Nov","Dec"],monthsTitle:"Mēneši",today:"Šodien",clear:"Nodzēst",weekStart:1}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.me.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.me={days:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],daysMin:["Ne","Po","Ut","Sr","Če","Pe","Su"],months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],today:"Danas",weekStart:1,clear:"Izbriši",format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.mk.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.mk={days:["Недела","Понеделник","Вторник","Среда","Четврток","Петок","Сабота"],daysShort:["Нед","Пон","Вто","Сре","Чет","Пет","Саб"],daysMin:["Не","По","Вт","Ср","Че","Пе","Са"],months:["Јануари","Февруари","Март","Април","Мај","Јуни","Јули","Август","Септември","Октомври","Ноември","Декември"],monthsShort:["Јан","Фев","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Ное","Дек"],today:"Денес",format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.mn.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.mn={days:["Ням","Даваа","Мягмар","Лхагва","Пүрэв","Баасан","Бямба"],daysShort:["Ням","Дав","Мяг","Лха","Пүр","Баа","Бям"],daysMin:["Ня","Да","Мя","Лх","Пү","Ба","Бя"],months:["Хулгана","Үхэр","Бар","Туулай","Луу","Могой","Морь","Хонь","Бич","Тахиа","Нохой","Гахай"],monthsShort:["Хул","Үхэ","Бар","Туу","Луу","Мог","Мор","Хон","Бич","Тах","Нох","Гах"],today:"Өнөөдөр",clear:"Тодорхой",format:"yyyy.mm.dd",weekStart:1}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.mr.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.mar={days:["रविवार","सोमवार","मंगळवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"],daysShort:["रवि","सोम","मंगळ","बुध","गुरु","शुक्र","शनि"],daysMin:["र","सो","मं","बु","गु","शु","श"],months:["जानेवारी","फेब्रुवारी","मार्च","एप्रिल","मे","जून","जुलै","ऑगस्ट","सप्टेंबर","ऑक्टोबर","नोव्हेंबर","डिसेंबर"],monthsShort:["जाने.","फेब्रु.","मार्च","एप्रिल","मे","जून","जुलै","ऑगस्ट","सप्टें.","ऑक्टो.","नोव्हें.","डिसें."],today:"आज",monthsTitle:"महीने",clear:"हटवा",weekStart:1,format:"dd / mm / yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.ms.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.ms={days:["Ahad","Isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu"],daysShort:["Aha","Isn","Sel","Rab","Kha","Jum","Sab"],daysMin:["Ah","Is","Se","Ra","Kh","Ju","Sa"],months:["Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember"],monthsShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Ogo","Sep","Okt","Nov","Dis"],today:"Hari Ini",clear:"Bersihkan"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.nl-BE.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["nl-BE"]={days:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],daysShort:["zo","ma","di","wo","do","vr","za"],daysMin:["zo","ma","di","wo","do","vr","za"],months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],monthsShort:["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"],today:"Vandaag",monthsTitle:"Maanden",clear:"Leegmaken",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.nl.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.nl={days:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],daysShort:["zo","ma","di","wo","do","vr","za"],daysMin:["zo","ma","di","wo","do","vr","za"],months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],monthsShort:["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"],today:"Vandaag",monthsTitle:"Maanden",clear:"Wissen",weekStart:1,format:"dd-mm-yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.no.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.no={days:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],daysShort:["søn","man","tir","ons","tor","fre","lør"],daysMin:["sø","ma","ti","on","to","fr","lø"],months:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],monthsShort:["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des"],today:"i dag",monthsTitle:"Måneder",clear:"Nullstill",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.oc.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.oc={days:["Dimenge","Diluns","Dimars","Dimècres","Dijòus","Divendres","Dissabte"],daysShort:["Dim","Dil","Dmr","Dmc","Dij","Div","Dis"],daysMin:["dg","dl","dr","dc","dj","dv","ds"],months:["Genièr","Febrièr","Març","Abrial","Mai","Junh","Julhet","Agost","Setembre","Octobre","Novembre","Decembre"],monthsShort:["Gen","Feb","Mar","Abr","Mai","Jun","Jul","Ago","Set","Oct","Nov","Dec"],today:"Uèi",monthsTitle:"Meses",clear:"Escafar",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.pl.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.pl={days:["Niedziela","Poniedziałek","Wtorek","Środa","Czwartek","Piątek","Sobota"],daysShort:["Niedz.","Pon.","Wt.","Śr.","Czw.","Piąt.","Sob."],daysMin:["Ndz.","Pn.","Wt.","Śr.","Czw.","Pt.","Sob."],months:["Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień"],monthsShort:["Sty.","Lut.","Mar.","Kwi.","Maj","Cze.","Lip.","Sie.","Wrz.","Paź.","Lis.","Gru."],today:"Dzisiaj",weekStart:1,clear:"Wyczyść",format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.pt-BR.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["pt-BR"]={days:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"],daysShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],daysMin:["Do","Se","Te","Qu","Qu","Se","Sa"],months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthsShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],today:"Hoje",monthsTitle:"Meses",clear:"Limpar",format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.pt.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.pt={days:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"],daysShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],daysMin:["Do","Se","Te","Qu","Qu","Se","Sa"],months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthsShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],today:"Hoje",monthsTitle:"Meses",clear:"Limpar",format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.ro.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.ro={days:["Duminică","Luni","Marţi","Miercuri","Joi","Vineri","Sâmbătă"],daysShort:["Dum","Lun","Mar","Mie","Joi","Vin","Sâm"],daysMin:["Du","Lu","Ma","Mi","Jo","Vi","Sâ"],months:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"],monthsShort:["Ian","Feb","Mar","Apr","Mai","Iun","Iul","Aug","Sep","Oct","Nov","Dec"],today:"Astăzi",clear:"Șterge",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.rs-latin.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["rs-latin"]={days:["Nedelja","Ponedeljak","Utorak","Sreda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sre","Čet","Pet","Sub"],daysMin:["N","Po","U","Sr","Č","Pe","Su"],months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],today:"Danas",weekStart:1,format:"dd.mm.yyyy"},a.fn.datepicker.deprecated('This language code "rs-latin" is deprecated (invalid serbian language code) and will be removed in 2.0. For Serbian latin support use "sr-latin" instead.')}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.rs.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.rs={days:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"],daysShort:["Нед","Пон","Уто","Сре","Чет","Пет","Суб"],daysMin:["Н","По","У","Ср","Ч","Пе","Су"],months:["Јануар","Фебруар","Март","Април","Мај","Јун","Јул","Август","Септембар","Октобар","Новембар","Децембар"],monthsShort:["Јан","Феб","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Нов","Дец"],today:"Данас",weekStart:1,format:"dd.mm.yyyy"},a.fn.datepicker.deprecated('This language code "rs" is deprecated (invalid serbian language code) and will be removed in 2.0. For Serbian support use "sr" instead.')}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.ru.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.ru={days:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"],daysShort:["Вск","Пнд","Втр","Срд","Чтв","Птн","Суб"],daysMin:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Сегодня",clear:"Очистить",format:"dd.mm.yyyy",weekStart:1,monthsTitle:"Месяцы"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.si.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.si={days:["ඉරිදා","සඳුදා","අඟහරුවාදා","බදාදා","බ්‍රහස්පතින්දා","සිකුරාදා","සෙනසුරාදා"],daysShort:["ඉරි","සඳු","අඟ","බදා","බ්‍රහ","සිකු","සෙන"],daysMin:["ඉ","ස","අ","බ","බ්‍ර","සි","සෙ"],months:["ජනවාරි","පෙබරවාරි","මාර්තු","අප්‍රේල්","මැයි","ජුනි","ජූලි","අගෝස්තු","සැප්තැම්බර්","ඔක්තෝබර්","නොවැම්බර්","දෙසැම්බර්"],monthsShort:["ජන","පෙබ","මාර්","අප්‍රේ","මැයි","ජුනි","ජූලි","අගෝ","සැප්","ඔක්","නොවැ","දෙසැ"],today:"අද",monthsTitle:"මාස",clear:"මකන්න",weekStart:0,format:"yyyy-mm-dd"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.sk.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.sk={days:["Nedeľa","Pondelok","Utorok","Streda","Štvrtok","Piatok","Sobota"],daysShort:["Ned","Pon","Uto","Str","Štv","Pia","Sob"],daysMin:["Ne","Po","Ut","St","Št","Pia","So"],months:["Január","Február","Marec","Apríl","Máj","Jún","Júl","August","September","Október","November","December"],monthsShort:["Jan","Feb","Mar","Apr","Máj","Jún","Júl","Aug","Sep","Okt","Nov","Dec"],today:"Dnes",clear:"Vymazať",weekStart:1,format:"d.m.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.sl.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.sl={days:["Nedelja","Ponedeljek","Torek","Sreda","Četrtek","Petek","Sobota"],daysShort:["Ned","Pon","Tor","Sre","Čet","Pet","Sob"],daysMin:["Ne","Po","To","Sr","Če","Pe","So"],months:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],today:"Danes",weekStart:1}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.sq.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.sq={days:["E Diel","E Hënë","E Martē","E Mërkurë","E Enjte","E Premte","E Shtunë"],daysShort:["Die","Hën","Mar","Mër","Enj","Pre","Shtu"],daysMin:["Di","Hë","Ma","Më","En","Pr","Sht"],months:["Janar","Shkurt","Mars","Prill","Maj","Qershor","Korrik","Gusht","Shtator","Tetor","Nëntor","Dhjetor"],monthsShort:["Jan","Shk","Mar","Pri","Maj","Qer","Korr","Gu","Sht","Tet","Nën","Dhjet"],monthsTitle:"Muaj",today:"Sot",weekStart:1,format:"dd/mm/yyyy",clear:"Pastro"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.sr-latin.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["sr-latin"]={days:["Nedelja","Ponedeljak","Utorak","Sreda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sre","Čet","Pet","Sub"],daysMin:["N","Po","U","Sr","Č","Pe","Su"],months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],today:"Danas",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.sr.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.sr={days:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"],daysShort:["Нед","Пон","Уто","Сре","Чет","Пет","Суб"],daysMin:["Н","По","У","Ср","Ч","Пе","Су"],months:["Јануар","Фебруар","Март","Април","Мај","Јун","Јул","Август","Септембар","Октобар","Новембар","Децембар"],monthsShort:["Јан","Феб","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Нов","Дец"],today:"Данас",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.sv.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.sv={days:["söndag","måndag","tisdag","onsdag","torsdag","fredag","lördag"],daysShort:["sön","mån","tis","ons","tor","fre","lör"],daysMin:["sö","må","ti","on","to","fr","lö"],months:["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december"],monthsShort:["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec"],today:"Idag",format:"yyyy-mm-dd",weekStart:1,clear:"Rensa"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.sw.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.sw={days:["Jumapili","Jumatatu","Jumanne","Jumatano","Alhamisi","Ijumaa","Jumamosi"],daysShort:["J2","J3","J4","J5","Alh","Ij","J1"],daysMin:["2","3","4","5","A","I","1"],months:["Januari","Februari","Machi","Aprili","Mei","Juni","Julai","Agosti","Septemba","Oktoba","Novemba","Desemba"],monthsShort:["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ago","Sep","Okt","Nov","Des"],today:"Leo"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.ta.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.ta={days:["ஞாயிறு","திங்கள்","செவ்வாய்","புதன்","வியாழன்","வெள்ளி","சனி"],daysShort:["ஞாயி","திங்","செவ்","புத","வியா","வெள்","சனி"],daysMin:["ஞா","தி","செ","பு","வி","வெ","ச"],months:["ஜனவரி","பிப்ரவரி","மார்ச்","ஏப்ரல்","மே","ஜூன்","ஜூலை","ஆகஸ்டு","செப்டம்பர்","அக்டோபர்","நவம்பர்","டிசம்பர்"],monthsShort:["ஜன","பிப்","மார்","ஏப்","மே","ஜூன்","ஜூலை","ஆக","செப்","அக்","நவ","டிச"],today:"இன்று",monthsTitle:"மாதங்கள்",clear:"நீக்கு",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.tg.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.tg={days:["Якшанбе","Душанбе","Сешанбе","Чоршанбе","Панҷшанбе","Ҷумъа","Шанбе"],daysShort:["Яшб","Дшб","Сшб","Чшб","Пшб","Ҷум","Шнб"],daysMin:["Яш","Дш","Сш","Чш","Пш","Ҷм","Шб"],months:["Январ","Феврал","Март","Апрел","Май","Июн","Июл","Август","Сентябр","Октябр","Ноябр","Декабр"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Имрӯз",monthsTitle:"Моҳҳо",clear:"Тоза намудан",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.th.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.th={days:["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัส","ศุกร์","เสาร์","อาทิตย์"],daysShort:["อา","จ","อ","พ","พฤ","ศ","ส","อา"],daysMin:["อา","จ","อ","พ","พฤ","ศ","ส","อา"],months:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],monthsShort:["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค."],today:"วันนี้"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.tk.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.tk={days:["Ýekşenbe","Duşenbe","Sişenbe","Çarşenbe","Penşenbe","Anna","Şenbe"],daysShort:["Ýek","Duş","Siş","Çar","Pen","Ann","Şen"],daysMin:["Ýe","Du","Si","Ça","Pe","An","Şe"],months:["Ýanwar","Fewral","Mart","Aprel","Maý","Iýun","Iýul","Awgust","Sentýabr","Oktýabr","Noýabr","Dekabr"],monthsShort:["Ýan","Few","Mar","Apr","Maý","Iýn","Iýl","Awg","Sen","Okt","Noý","Dek"],today:"Bu gün",monthsTitle:"Aýlar",clear:"Aýyr",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.tr.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.tr={days:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],daysShort:["Pz","Pzt","Sal","Çrş","Prş","Cu","Cts"],daysMin:["Pz","Pzt","Sa","Çr","Pr","Cu","Ct"],months:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],monthsShort:["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara"],today:"Bugün",clear:"Temizle",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.uk.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.uk={days:["Неділя","Понеділок","Вівторок","Середа","Четвер","П'ятниця","Субота"],daysShort:["Нед","Пнд","Втр","Срд","Чтв","Птн","Суб"],daysMin:["Нд","Пн","Вт","Ср","Чт","Пт","Сб"],months:["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"],monthsShort:["Січ","Лют","Бер","Кві","Тра","Чер","Лип","Сер","Вер","Жов","Лис","Гру"],today:"Сьогодні",clear:"Очистити",format:"dd.mm.yyyy",weekStart:1}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.uz-cyrl.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["uz-cyrl"]={days:["Якшанба","Душанба","Сешанба","Чоршанба","Пайшанба","Жума","Шанба"],daysShort:["Якш","Ду","Се","Чор","Пай","Жу","Ша"],daysMin:["Як","Ду","Се","Чо","Па","Жу","Ша"],months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Бугун",clear:"Ўчириш",format:"dd.mm.yyyy",weekStart:1,monthsTitle:"Ойлар"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.uz-latn.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["uz-latn"]={days:["Yakshanba","Dushanba","Seshanba","Chorshanba","Payshanba","Juma","Shanba"],daysShort:["Yak","Du","Se","Chor","Pay","Ju","Sha"],daysMin:["Ya","Du","Se","Cho","Pa","Ju","Sha"],months:["Yanvar","Fevral","Mart","Aprel","May","Iyun","Iyul","Avgust","Sentabr","Oktabr","Noyabr","Dekabr"],monthsShort:["Yan","Fev","Mar","Apr","May","Iyn","Iyl","Avg","Sen","Okt","Noy","Dek"],today:"Bugun",clear:"O'chirish",format:"dd.mm.yyyy",weekStart:1,monthsTitle:"Oylar"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.vi.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.vi={days:["Chủ nhật","Thứ hai","Thứ ba","Thứ tư","Thứ năm","Thứ sáu","Thứ bảy"],daysShort:["CN","Thứ 2","Thứ 3","Thứ 4","Thứ 5","Thứ 6","Thứ 7"],daysMin:["CN","T2","T3","T4","T5","T6","T7"],months:["Tháng 1","Tháng 2","Tháng 3","Tháng 4","Tháng 5","Tháng 6","Tháng 7","Tháng 8","Tháng 9","Tháng 10","Tháng 11","Tháng 12"],monthsShort:["Th1","Th2","Th3","Th4","Th5","Th6","Th7","Th8","Th9","Th10","Th11","Th12"],today:"Hôm nay",clear:"Xóa",format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.zh-CN.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["zh-CN"]={days:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],daysShort:["周日","周一","周二","周三","周四","周五","周六"],daysMin:["日","一","二","三","四","五","六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今天",monthsTitle:"选择月份",clear:"清除",format:"yyyy-mm-dd",titleFormat:"yyyy年mm月",weekStart:1}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.zh-TW.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["zh-TW"]={days:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],daysShort:["週日","週一","週二","週三","週四","週五","週六"],daysMin:["日","一","二","三","四","五","六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今天",monthsTitle:"月份",format:"yyyy/mm/dd",weekStart:0,titleFormat:"yyyy年mm月",clear:"清除"}}(jQuery); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/fontawesome6/webfonts/fa-brands-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LaunchPlatform/beanhub-cli/f9a97e92bcbdb7e3ff7fc51bbcee9657503edf34/beanhub_cli/forms/app/static/vendor/fontawesome6/webfonts/fa-brands-400.ttf -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/fontawesome6/webfonts/fa-brands-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LaunchPlatform/beanhub-cli/f9a97e92bcbdb7e3ff7fc51bbcee9657503edf34/beanhub_cli/forms/app/static/vendor/fontawesome6/webfonts/fa-brands-400.woff2 -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/fontawesome6/webfonts/fa-regular-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LaunchPlatform/beanhub-cli/f9a97e92bcbdb7e3ff7fc51bbcee9657503edf34/beanhub_cli/forms/app/static/vendor/fontawesome6/webfonts/fa-regular-400.ttf -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/fontawesome6/webfonts/fa-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LaunchPlatform/beanhub-cli/f9a97e92bcbdb7e3ff7fc51bbcee9657503edf34/beanhub_cli/forms/app/static/vendor/fontawesome6/webfonts/fa-regular-400.woff2 -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/fontawesome6/webfonts/fa-solid-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LaunchPlatform/beanhub-cli/f9a97e92bcbdb7e3ff7fc51bbcee9657503edf34/beanhub_cli/forms/app/static/vendor/fontawesome6/webfonts/fa-solid-900.ttf -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/fontawesome6/webfonts/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LaunchPlatform/beanhub-cli/f9a97e92bcbdb7e3ff7fc51bbcee9657503edf34/beanhub_cli/forms/app/static/vendor/fontawesome6/webfonts/fa-solid-900.woff2 -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/fontawesome6/webfonts/fa-v4compatibility.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LaunchPlatform/beanhub-cli/f9a97e92bcbdb7e3ff7fc51bbcee9657503edf34/beanhub_cli/forms/app/static/vendor/fontawesome6/webfonts/fa-v4compatibility.ttf -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/fontawesome6/webfonts/fa-v4compatibility.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LaunchPlatform/beanhub-cli/f9a97e92bcbdb7e3ff7fc51bbcee9657503edf34/beanhub_cli/forms/app/static/vendor/fontawesome6/webfonts/fa-v4compatibility.woff2 -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2012-2017 Kevin Brown, Igor Vaynberg, and Select2 contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/af.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/af",[],function(){return{errorLoading:function(){return"Die resultate kon nie gelaai word nie."},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Verwyders asseblief "+n+" character";return 1!=n&&(r+="s"),r},inputTooShort:function(e){return"Voer asseblief "+(e.minimum-e.input.length)+" of meer karakters"},loadingMore:function(){return"Meer resultate word gelaai…"},maximumSelected:function(e){var n="Kies asseblief net "+e.maximum+" item";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"Geen resultate gevind"},searching:function(){return"Besig…"},removeAllItems:function(){return"Verwyder alle items"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/ar.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ar",[],function(){return{errorLoading:function(){return"لا يمكن تحميل النتائج"},inputTooLong:function(n){return"الرجاء حذف "+(n.input.length-n.maximum)+" عناصر"},inputTooShort:function(n){return"الرجاء إضافة "+(n.minimum-n.input.length)+" عناصر"},loadingMore:function(){return"جاري تحميل نتائج إضافية..."},maximumSelected:function(n){return"تستطيع إختيار "+n.maximum+" بنود فقط"},noResults:function(){return"لم يتم العثور على أي نتائج"},searching:function(){return"جاري البحث…"},removeAllItems:function(){return"قم بإزالة كل العناصر"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/az.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/az",[],function(){return{inputTooLong:function(n){return n.input.length-n.maximum+" simvol silin"},inputTooShort:function(n){return n.minimum-n.input.length+" simvol daxil edin"},loadingMore:function(){return"Daha çox nəticə yüklənir…"},maximumSelected:function(n){return"Sadəcə "+n.maximum+" element seçə bilərsiniz"},noResults:function(){return"Nəticə tapılmadı"},searching:function(){return"Axtarılır…"},removeAllItems:function(){return"Bütün elementləri sil"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/bg.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/bg",[],function(){return{inputTooLong:function(n){var e=n.input.length-n.maximum,u="Моля въведете с "+e+" по-малко символ";return e>1&&(u+="a"),u},inputTooShort:function(n){var e=n.minimum-n.input.length,u="Моля въведете още "+e+" символ";return e>1&&(u+="a"),u},loadingMore:function(){return"Зареждат се още…"},maximumSelected:function(n){var e="Можете да направите до "+n.maximum+" ";return n.maximum>1?e+="избора":e+="избор",e},noResults:function(){return"Няма намерени съвпадения"},searching:function(){return"Търсене…"},removeAllItems:function(){return"Премахнете всички елементи"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/bn.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/bn",[],function(){return{errorLoading:function(){return"ফলাফলগুলি লোড করা যায়নি।"},inputTooLong:function(n){var e=n.input.length-n.maximum,u="অনুগ্রহ করে "+e+" টি অক্ষর মুছে দিন।";return 1!=e&&(u="অনুগ্রহ করে "+e+" টি অক্ষর মুছে দিন।"),u},inputTooShort:function(n){return n.minimum-n.input.length+" টি অক্ষর অথবা অধিক অক্ষর লিখুন।"},loadingMore:function(){return"আরো ফলাফল লোড হচ্ছে ..."},maximumSelected:function(n){var e=n.maximum+" টি আইটেম নির্বাচন করতে পারবেন।";return 1!=n.maximum&&(e=n.maximum+" টি আইটেম নির্বাচন করতে পারবেন।"),e},noResults:function(){return"কোন ফলাফল পাওয়া যায়নি।"},searching:function(){return"অনুসন্ধান করা হচ্ছে ..."}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/bs.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/bs",[],function(){function e(e,n,r,t){return e%10==1&&e%100!=11?n:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?r:t}return{errorLoading:function(){return"Preuzimanje nije uspijelo."},inputTooLong:function(n){var r=n.input.length-n.maximum,t="Obrišite "+r+" simbol";return t+=e(r,"","a","a")},inputTooShort:function(n){var r=n.minimum-n.input.length,t="Ukucajte bar još "+r+" simbol";return t+=e(r,"","a","a")},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(n){var r="Možete izabrati samo "+n.maximum+" stavk";return r+=e(n.maximum,"u","e","i")},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Uklonite sve stavke"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/ca.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/ca",[],function(){return{errorLoading:function(){return"La càrrega ha fallat"},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Si us plau, elimina "+n+" car";return r+=1==n?"àcter":"àcters"},inputTooShort:function(e){var n=e.minimum-e.input.length,r="Si us plau, introdueix "+n+" car";return r+=1==n?"àcter":"àcters"},loadingMore:function(){return"Carregant més resultats…"},maximumSelected:function(e){var n="Només es pot seleccionar "+e.maximum+" element";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"No s'han trobat resultats"},searching:function(){return"Cercant…"},removeAllItems:function(){return"Treu tots els elements"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/cs.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/cs",[],function(){function e(e,n){switch(e){case 2:return n?"dva":"dvě";case 3:return"tři";case 4:return"čtyři"}return""}return{errorLoading:function(){return"Výsledky nemohly být načteny."},inputTooLong:function(n){var t=n.input.length-n.maximum;return 1==t?"Prosím, zadejte o jeden znak méně.":t<=4?"Prosím, zadejte o "+e(t,!0)+" znaky méně.":"Prosím, zadejte o "+t+" znaků méně."},inputTooShort:function(n){var t=n.minimum-n.input.length;return 1==t?"Prosím, zadejte ještě jeden znak.":t<=4?"Prosím, zadejte ještě další "+e(t,!0)+" znaky.":"Prosím, zadejte ještě dalších "+t+" znaků."},loadingMore:function(){return"Načítají se další výsledky…"},maximumSelected:function(n){var t=n.maximum;return 1==t?"Můžete zvolit jen jednu položku.":t<=4?"Můžete zvolit maximálně "+e(t,!1)+" položky.":"Můžete zvolit maximálně "+t+" položek."},noResults:function(){return"Nenalezeny žádné položky."},searching:function(){return"Vyhledávání…"},removeAllItems:function(){return"Odstraňte všechny položky"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/da.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/da",[],function(){return{errorLoading:function(){return"Resultaterne kunne ikke indlæses."},inputTooLong:function(e){return"Angiv venligst "+(e.input.length-e.maximum)+" tegn mindre"},inputTooShort:function(e){return"Angiv venligst "+(e.minimum-e.input.length)+" tegn mere"},loadingMore:function(){return"Indlæser flere resultater…"},maximumSelected:function(e){var n="Du kan kun vælge "+e.maximum+" emne";return 1!=e.maximum&&(n+="r"),n},noResults:function(){return"Ingen resultater fundet"},searching:function(){return"Søger…"},removeAllItems:function(){return"Fjern alle elementer"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/de.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/de",[],function(){return{errorLoading:function(){return"Die Ergebnisse konnten nicht geladen werden."},inputTooLong:function(e){return"Bitte "+(e.input.length-e.maximum)+" Zeichen weniger eingeben"},inputTooShort:function(e){return"Bitte "+(e.minimum-e.input.length)+" Zeichen mehr eingeben"},loadingMore:function(){return"Lade mehr Ergebnisse…"},maximumSelected:function(e){var n="Sie können nur "+e.maximum+" Element";return 1!=e.maximum&&(n+="e"),n+=" auswählen"},noResults:function(){return"Keine Übereinstimmungen gefunden"},searching:function(){return"Suche…"},removeAllItems:function(){return"Entferne alle Elemente"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/dsb.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/dsb",[],function(){var n=["znamuško","znamušce","znamuška","znamuškow"],e=["zapisk","zapiska","zapiski","zapiskow"],u=function(n,e){return 1===n?e[0]:2===n?e[1]:n>2&&n<=4?e[2]:n>=5?e[3]:void 0};return{errorLoading:function(){return"Wuslědki njejsu se dali zacytaś."},inputTooLong:function(e){var a=e.input.length-e.maximum;return"Pšosym lašuj "+a+" "+u(a,n)},inputTooShort:function(e){var a=e.minimum-e.input.length;return"Pšosym zapódaj nanejmjenjej "+a+" "+u(a,n)},loadingMore:function(){return"Dalšne wuslědki se zacytaju…"},maximumSelected:function(n){return"Móžoš jano "+n.maximum+" "+u(n.maximum,e)+"wubraś."},noResults:function(){return"Žedne wuslědki namakane"},searching:function(){return"Pyta se…"},removeAllItems:function(){return"Remove all items"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/el.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/el",[],function(){return{errorLoading:function(){return"Τα αποτελέσματα δεν μπόρεσαν να φορτώσουν."},inputTooLong:function(n){var e=n.input.length-n.maximum,u="Παρακαλώ διαγράψτε "+e+" χαρακτήρ";return 1==e&&(u+="α"),1!=e&&(u+="ες"),u},inputTooShort:function(n){return"Παρακαλώ συμπληρώστε "+(n.minimum-n.input.length)+" ή περισσότερους χαρακτήρες"},loadingMore:function(){return"Φόρτωση περισσότερων αποτελεσμάτων…"},maximumSelected:function(n){var e="Μπορείτε να επιλέξετε μόνο "+n.maximum+" επιλογ";return 1==n.maximum&&(e+="ή"),1!=n.maximum&&(e+="ές"),e},noResults:function(){return"Δεν βρέθηκαν αποτελέσματα"},searching:function(){return"Αναζήτηση…"},removeAllItems:function(){return"Καταργήστε όλα τα στοιχεία"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/en.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Please delete "+n+" character";return 1!=n&&(r+="s"),r},inputTooShort:function(e){return"Please enter "+(e.minimum-e.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var n="You can only select "+e.maximum+" item";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"No results found"},searching:function(){return"Searching…"},removeAllItems:function(){return"Remove all items"},removeItem:function(){return"Remove item"},search:function(){return"Search"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/eo.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/eo",[],function(){return{errorLoading:function(){return"La rezultoj ne povas esti ŝargitaj."},inputTooLong:function(n){var e=n.input.length-n.maximum,r="Bonvolu forigi "+e+" signo";return r+=1==e?"n":"jn"},inputTooShort:function(n){return"Bv. enigi "+(n.minimum-n.input.length)+" aŭ pli multajn signojn"},loadingMore:function(){return"Ŝargado de pliaj rezultoj…"},maximumSelected:function(n){var e="Vi povas elekti nur "+n.maximum+" ero";return 1==n.maximum?e+="n":e+="jn",e},noResults:function(){return"Neniuj rezultoj trovitaj"},searching:function(){return"Serĉado…"},removeAllItems:function(){return"Forigi ĉiujn erojn"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/es.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/es",[],function(){return{errorLoading:function(){return"No se pudieron cargar los resultados"},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Por favor, elimine "+n+" car";return r+=1==n?"ácter":"acteres"},inputTooShort:function(e){var n=e.minimum-e.input.length,r="Por favor, introduzca "+n+" car";return r+=1==n?"ácter":"acteres"},loadingMore:function(){return"Cargando más resultados…"},maximumSelected:function(e){var n="Sólo puede seleccionar "+e.maximum+" elemento";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"No se encontraron resultados"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Eliminar todos los elementos"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/et.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/et",[],function(){return{inputTooLong:function(e){var n=e.input.length-e.maximum,t="Sisesta "+n+" täht";return 1!=n&&(t+="e"),t+=" vähem"},inputTooShort:function(e){var n=e.minimum-e.input.length,t="Sisesta "+n+" täht";return 1!=n&&(t+="e"),t+=" rohkem"},loadingMore:function(){return"Laen tulemusi…"},maximumSelected:function(e){var n="Saad vaid "+e.maximum+" tulemus";return 1==e.maximum?n+="e":n+="t",n+=" valida"},noResults:function(){return"Tulemused puuduvad"},searching:function(){return"Otsin…"},removeAllItems:function(){return"Eemalda kõik esemed"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/eu.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/eu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Idatzi ";return n+=1==t?"karaktere bat":t+" karaktere",n+=" gutxiago"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Idatzi ";return n+=1==t?"karaktere bat":t+" karaktere",n+=" gehiago"},loadingMore:function(){return"Emaitza gehiago kargatzen…"},maximumSelected:function(e){return 1===e.maximum?"Elementu bakarra hauta dezakezu":e.maximum+" elementu hauta ditzakezu soilik"},noResults:function(){return"Ez da bat datorrenik aurkitu"},searching:function(){return"Bilatzen…"},removeAllItems:function(){return"Kendu elementu guztiak"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/fa.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/fa",[],function(){return{errorLoading:function(){return"امکان بارگذاری نتایج وجود ندارد."},inputTooLong:function(n){return"لطفاً "+(n.input.length-n.maximum)+" کاراکتر را حذف نمایید"},inputTooShort:function(n){return"لطفاً تعداد "+(n.minimum-n.input.length)+" کاراکتر یا بیشتر وارد نمایید"},loadingMore:function(){return"در حال بارگذاری نتایج بیشتر..."},maximumSelected:function(n){return"شما تنها می‌توانید "+n.maximum+" آیتم را انتخاب نمایید"},noResults:function(){return"هیچ نتیجه‌ای یافت نشد"},searching:function(){return"در حال جستجو..."},removeAllItems:function(){return"همه موارد را حذف کنید"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/fi.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/fi",[],function(){return{errorLoading:function(){return"Tuloksia ei saatu ladattua."},inputTooLong:function(n){return"Ole hyvä ja anna "+(n.input.length-n.maximum)+" merkkiä vähemmän"},inputTooShort:function(n){return"Ole hyvä ja anna "+(n.minimum-n.input.length)+" merkkiä lisää"},loadingMore:function(){return"Ladataan lisää tuloksia…"},maximumSelected:function(n){return"Voit valita ainoastaan "+n.maximum+" kpl"},noResults:function(){return"Ei tuloksia"},searching:function(){return"Haetaan…"},removeAllItems:function(){return"Poista kaikki kohteet"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/fr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/fr",[],function(){return{errorLoading:function(){return"Les résultats ne peuvent pas être chargés."},inputTooLong:function(e){var n=e.input.length-e.maximum;return"Supprimez "+n+" caractère"+(n>1?"s":"")},inputTooShort:function(e){var n=e.minimum-e.input.length;return"Saisissez au moins "+n+" caractère"+(n>1?"s":"")},loadingMore:function(){return"Chargement de résultats supplémentaires…"},maximumSelected:function(e){return"Vous pouvez seulement sélectionner "+e.maximum+" élément"+(e.maximum>1?"s":"")},noResults:function(){return"Aucun résultat trouvé"},searching:function(){return"Recherche en cours…"},removeAllItems:function(){return"Supprimer tous les éléments"},removeItem:function(){return"Supprimer l'élément"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/gl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/gl",[],function(){return{errorLoading:function(){return"Non foi posíbel cargar os resultados."},inputTooLong:function(e){var n=e.input.length-e.maximum;return 1===n?"Elimine un carácter":"Elimine "+n+" caracteres"},inputTooShort:function(e){var n=e.minimum-e.input.length;return 1===n?"Engada un carácter":"Engada "+n+" caracteres"},loadingMore:function(){return"Cargando máis resultados…"},maximumSelected:function(e){return 1===e.maximum?"Só pode seleccionar un elemento":"Só pode seleccionar "+e.maximum+" elementos"},noResults:function(){return"Non se atoparon resultados"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Elimina todos os elementos"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/he.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/he",[],function(){return{errorLoading:function(){return"שגיאה בטעינת התוצאות"},inputTooLong:function(n){var e=n.input.length-n.maximum,r="נא למחוק ";return r+=1===e?"תו אחד":e+" תווים"},inputTooShort:function(n){var e=n.minimum-n.input.length,r="נא להכניס ";return r+=1===e?"תו אחד":e+" תווים",r+=" או יותר"},loadingMore:function(){return"טוען תוצאות נוספות…"},maximumSelected:function(n){var e="באפשרותך לבחור עד ";return 1===n.maximum?e+="פריט אחד":e+=n.maximum+" פריטים",e},noResults:function(){return"לא נמצאו תוצאות"},searching:function(){return"מחפש…"},removeAllItems:function(){return"הסר את כל הפריטים"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/hi.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hi",[],function(){return{errorLoading:function(){return"परिणामों को लोड नहीं किया जा सका।"},inputTooLong:function(n){var e=n.input.length-n.maximum,r=e+" अक्षर को हटा दें";return e>1&&(r=e+" अक्षरों को हटा दें "),r},inputTooShort:function(n){return"कृपया "+(n.minimum-n.input.length)+" या अधिक अक्षर दर्ज करें"},loadingMore:function(){return"अधिक परिणाम लोड हो रहे है..."},maximumSelected:function(n){return"आप केवल "+n.maximum+" आइटम का चयन कर सकते हैं"},noResults:function(){return"कोई परिणाम नहीं मिला"},searching:function(){return"खोज रहा है..."},removeAllItems:function(){return"सभी वस्तुओं को हटा दें"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/hr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hr",[],function(){function n(n){var e=" "+n+" znak";return n%10<5&&n%10>0&&(n%100<5||n%100>19)?n%10>1&&(e+="a"):e+="ova",e}return{errorLoading:function(){return"Preuzimanje nije uspjelo."},inputTooLong:function(e){return"Unesite "+n(e.input.length-e.maximum)},inputTooShort:function(e){return"Unesite još "+n(e.minimum-e.input.length)},loadingMore:function(){return"Učitavanje rezultata…"},maximumSelected:function(n){return"Maksimalan broj odabranih stavki je "+n.maximum},noResults:function(){return"Nema rezultata"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Ukloni sve stavke"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/hsb.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hsb",[],function(){var n=["znamješko","znamješce","znamješka","znamješkow"],e=["zapisk","zapiskaj","zapiski","zapiskow"],u=function(n,e){return 1===n?e[0]:2===n?e[1]:n>2&&n<=4?e[2]:n>=5?e[3]:void 0};return{errorLoading:function(){return"Wuslědki njedachu so začitać."},inputTooLong:function(e){var a=e.input.length-e.maximum;return"Prošu zhašej "+a+" "+u(a,n)},inputTooShort:function(e){var a=e.minimum-e.input.length;return"Prošu zapodaj znajmjeńša "+a+" "+u(a,n)},loadingMore:function(){return"Dalše wuslědki so začitaja…"},maximumSelected:function(n){return"Móžeš jenož "+n.maximum+" "+u(n.maximum,e)+"wubrać"},noResults:function(){return"Žane wuslědki namakane"},searching:function(){return"Pyta so…"},removeAllItems:function(){return"Remove all items"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/hu.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/hu",[],function(){return{errorLoading:function(){return"Az eredmények betöltése nem sikerült."},inputTooLong:function(e){return"Túl hosszú. "+(e.input.length-e.maximum)+" karakterrel több, mint kellene."},inputTooShort:function(e){return"Túl rövid. Még "+(e.minimum-e.input.length)+" karakter hiányzik."},loadingMore:function(){return"Töltés…"},maximumSelected:function(e){return"Csak "+e.maximum+" elemet lehet kiválasztani."},noResults:function(){return"Nincs találat."},searching:function(){return"Keresés…"},removeAllItems:function(){return"Távolítson el minden elemet"},removeItem:function(){return"Elem eltávolítása"},search:function(){return"Keresés"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/hy.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hy",[],function(){return{errorLoading:function(){return"Արդյունքները հնարավոր չէ բեռնել։"},inputTooLong:function(n){return"Խնդրում ենք հեռացնել "+(n.input.length-n.maximum)+" նշան"},inputTooShort:function(n){return"Խնդրում ենք մուտքագրել "+(n.minimum-n.input.length)+" կամ ավել նշաններ"},loadingMore:function(){return"Բեռնվում են նոր արդյունքներ․․․"},maximumSelected:function(n){return"Դուք կարող եք ընտրել առավելագույնը "+n.maximum+" կետ"},noResults:function(){return"Արդյունքներ չեն գտնվել"},searching:function(){return"Որոնում․․․"},removeAllItems:function(){return"Հեռացնել բոլոր տարրերը"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/id.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(n){return"Hapuskan "+(n.input.length-n.maximum)+" huruf"},inputTooShort:function(n){return"Masukkan "+(n.minimum-n.input.length)+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(n){return"Anda hanya dapat memilih "+n.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"},removeAllItems:function(){return"Hapus semua item"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/is.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/is",[],function(){return{inputTooLong:function(n){var t=n.input.length-n.maximum,e="Vinsamlegast styttið texta um "+t+" staf";return t<=1?e:e+"i"},inputTooShort:function(n){var t=n.minimum-n.input.length,e="Vinsamlegast skrifið "+t+" staf";return t>1&&(e+="i"),e+=" í viðbót"},loadingMore:function(){return"Sæki fleiri niðurstöður…"},maximumSelected:function(n){return"Þú getur aðeins valið "+n.maximum+" atriði"},noResults:function(){return"Ekkert fannst"},searching:function(){return"Leita…"},removeAllItems:function(){return"Fjarlægðu öll atriði"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/it.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/it",[],function(){return{errorLoading:function(){return"I risultati non possono essere caricati."},inputTooLong:function(e){var n=e.input.length-e.maximum,t="Per favore cancella "+n+" caratter";return t+=1!==n?"i":"e"},inputTooShort:function(e){return"Per favore inserisci "+(e.minimum-e.input.length)+" o più caratteri"},loadingMore:function(){return"Caricando più risultati…"},maximumSelected:function(e){var n="Puoi selezionare solo "+e.maximum+" element";return 1!==e.maximum?n+="i":n+="o",n},noResults:function(){return"Nessun risultato trovato"},searching:function(){return"Sto cercando…"},removeAllItems:function(){return"Rimuovi tutti gli oggetti"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/ja.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ja",[],function(){return{errorLoading:function(){return"結果が読み込まれませんでした"},inputTooLong:function(n){return n.input.length-n.maximum+" 文字を削除してください"},inputTooShort:function(n){return"少なくとも "+(n.minimum-n.input.length)+" 文字を入力してください"},loadingMore:function(){return"読み込み中…"},maximumSelected:function(n){return n.maximum+" 件しか選択できません"},noResults:function(){return"対象が見つかりません"},searching:function(){return"検索しています…"},removeAllItems:function(){return"すべてのアイテムを削除"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/ka.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ka",[],function(){return{errorLoading:function(){return"მონაცემების ჩატვირთვა შეუძლებელია."},inputTooLong:function(n){return"გთხოვთ აკრიფეთ "+(n.input.length-n.maximum)+" სიმბოლოთი ნაკლები"},inputTooShort:function(n){return"გთხოვთ აკრიფეთ "+(n.minimum-n.input.length)+" სიმბოლო ან მეტი"},loadingMore:function(){return"მონაცემების ჩატვირთვა…"},maximumSelected:function(n){return"თქვენ შეგიძლიათ აირჩიოთ არაუმეტეს "+n.maximum+" ელემენტი"},noResults:function(){return"რეზულტატი არ მოიძებნა"},searching:function(){return"ძიება…"},removeAllItems:function(){return"ამოიღე ყველა ელემენტი"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/km.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/km",[],function(){return{errorLoading:function(){return"មិនអាចទាញយកទិន្នន័យ"},inputTooLong:function(n){return"សូមលុបចេញ "+(n.input.length-n.maximum)+" អក្សរ"},inputTooShort:function(n){return"សូមបញ្ចូល"+(n.minimum-n.input.length)+" អក្សរ រឺ ច្រើនជាងនេះ"},loadingMore:function(){return"កំពុងទាញយកទិន្នន័យបន្ថែម..."},maximumSelected:function(n){return"អ្នកអាចជ្រើសរើសបានតែ "+n.maximum+" ជម្រើសប៉ុណ្ណោះ"},noResults:function(){return"មិនមានលទ្ធផល"},searching:function(){return"កំពុងស្វែងរក..."},removeAllItems:function(){return"លុបធាតុទាំងអស់"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/ko.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ko",[],function(){return{errorLoading:function(){return"결과를 불러올 수 없습니다."},inputTooLong:function(n){return"너무 깁니다. "+(n.input.length-n.maximum)+" 글자 지워주세요."},inputTooShort:function(n){return"너무 짧습니다. "+(n.minimum-n.input.length)+" 글자 더 입력해주세요."},loadingMore:function(){return"불러오는 중…"},maximumSelected:function(n){return"최대 "+n.maximum+"개까지만 선택 가능합니다."},noResults:function(){return"결과가 없습니다."},searching:function(){return"검색 중…"},removeAllItems:function(){return"모든 항목 삭제"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/lt.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/lt",[],function(){function n(n,e,i,t){return n%10==1&&(n%100<11||n%100>19)?e:n%10>=2&&n%10<=9&&(n%100<11||n%100>19)?i:t}return{inputTooLong:function(e){var i=e.input.length-e.maximum,t="Pašalinkite "+i+" simbol";return t+=n(i,"į","ius","ių")},inputTooShort:function(e){var i=e.minimum-e.input.length,t="Įrašykite dar "+i+" simbol";return t+=n(i,"į","ius","ių")},loadingMore:function(){return"Kraunama daugiau rezultatų…"},maximumSelected:function(e){var i="Jūs galite pasirinkti tik "+e.maximum+" element";return i+=n(e.maximum,"ą","us","ų")},noResults:function(){return"Atitikmenų nerasta"},searching:function(){return"Ieškoma…"},removeAllItems:function(){return"Pašalinti visus elementus"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/lv.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/lv",[],function(){function e(e,n,u,i){return 11===e?n:e%10==1?u:i}return{inputTooLong:function(n){var u=n.input.length-n.maximum,i="Lūdzu ievadiet par "+u;return(i+=" simbol"+e(u,"iem","u","iem"))+" mazāk"},inputTooShort:function(n){var u=n.minimum-n.input.length,i="Lūdzu ievadiet vēl "+u;return i+=" simbol"+e(u,"us","u","us")},loadingMore:function(){return"Datu ielāde…"},maximumSelected:function(n){var u="Jūs varat izvēlēties ne vairāk kā "+n.maximum;return u+=" element"+e(n.maximum,"us","u","us")},noResults:function(){return"Sakritību nav"},searching:function(){return"Meklēšana…"},removeAllItems:function(){return"Noņemt visus vienumus"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/mk.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/mk",[],function(){return{inputTooLong:function(n){var e=(n.input.length,n.maximum,"Ве молиме внесете "+n.maximum+" помалку карактер");return 1!==n.maximum&&(e+="и"),e},inputTooShort:function(n){var e=(n.minimum,n.input.length,"Ве молиме внесете уште "+n.maximum+" карактер");return 1!==n.maximum&&(e+="и"),e},loadingMore:function(){return"Вчитување резултати…"},maximumSelected:function(n){var e="Можете да изберете само "+n.maximum+" ставк";return 1===n.maximum?e+="а":e+="и",e},noResults:function(){return"Нема пронајдено совпаѓања"},searching:function(){return"Пребарување…"},removeAllItems:function(){return"Отстрани ги сите предмети"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/ms.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ms",[],function(){return{errorLoading:function(){return"Keputusan tidak berjaya dimuatkan."},inputTooLong:function(n){return"Sila hapuskan "+(n.input.length-n.maximum)+" aksara"},inputTooShort:function(n){return"Sila masukkan "+(n.minimum-n.input.length)+" atau lebih aksara"},loadingMore:function(){return"Sedang memuatkan keputusan…"},maximumSelected:function(n){return"Anda hanya boleh memilih "+n.maximum+" pilihan"},noResults:function(){return"Tiada padanan yang ditemui"},searching:function(){return"Mencari…"},removeAllItems:function(){return"Keluarkan semua item"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/nb.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/nb",[],function(){return{errorLoading:function(){return"Kunne ikke hente resultater."},inputTooLong:function(e){return"Vennligst fjern "+(e.input.length-e.maximum)+" tegn"},inputTooShort:function(e){return"Vennligst skriv inn "+(e.minimum-e.input.length)+" tegn til"},loadingMore:function(){return"Laster flere resultater…"},maximumSelected:function(e){return"Du kan velge maks "+e.maximum+" elementer"},noResults:function(){return"Ingen treff"},searching:function(){return"Søker…"},removeAllItems:function(){return"Fjern alle elementer"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/ne.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ne",[],function(){return{errorLoading:function(){return"नतिजाहरु देखाउन सकिएन।"},inputTooLong:function(n){var e=n.input.length-n.maximum,u="कृपया "+e+" अक्षर मेटाउनुहोस्।";return 1!=e&&(u+="कृपया "+e+" अक्षरहरु मेटाउनुहोस्।"),u},inputTooShort:function(n){return"कृपया बाँकी रहेका "+(n.minimum-n.input.length)+" वा अरु धेरै अक्षरहरु भर्नुहोस्।"},loadingMore:function(){return"अरु नतिजाहरु भरिँदैछन् …"},maximumSelected:function(n){var e="तँपाई "+n.maximum+" वस्तु मात्र छान्न पाउँनुहुन्छ।";return 1!=n.maximum&&(e="तँपाई "+n.maximum+" वस्तुहरु मात्र छान्न पाउँनुहुन्छ।"),e},noResults:function(){return"कुनै पनि नतिजा भेटिएन।"},searching:function(){return"खोजि हुँदैछ…"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/nl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/nl",[],function(){return{errorLoading:function(){return"De resultaten konden niet worden geladen."},inputTooLong:function(e){return"Gelieve "+(e.input.length-e.maximum)+" karakters te verwijderen"},inputTooShort:function(e){return"Gelieve "+(e.minimum-e.input.length)+" of meer karakters in te voeren"},loadingMore:function(){return"Meer resultaten laden…"},maximumSelected:function(e){var n=1==e.maximum?"kan":"kunnen",r="Er "+n+" maar "+e.maximum+" item";return 1!=e.maximum&&(r+="s"),r+=" worden geselecteerd"},noResults:function(){return"Geen resultaten gevonden…"},searching:function(){return"Zoeken…"},removeAllItems:function(){return"Verwijder alle items"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/pa.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/pa",[],function(){return{errorLoading:function(){return"ਨਤੀਜੇ ਲੋਡ ਨਹੀਂ ਕੀਤੇ ਜਾ ਸਕਦੇ ।"},inputTooLong:function(n){var e=n.input.length-n.maximum;return"ਕ੍ਰਿਪਾ ਕਰਕੇ "+e+(1!=e?" ਅੱਖਰਾਂ ਨੂੰ ":" ਅੱਖਰ ")+"ਮਿਟਾਓ ।"},inputTooShort:function(n){var e=n.minimum-n.input.length;return"ਕ੍ਰਿਪਾ ਕਰਕੇ "+e+" ਜਾਂ "+e+" ਤੋਂ ਵੱਧ"+(e>1?" ਅੱਖਰਾਂ ":" ਅੱਖਰ ")+"ਦੀ ਵਰਤੋਂ ਕਰੋ ।"},loadingMore:function(){return"ਹੋਰ ਨਤੀਜੇ ਲੋਡ ਹੋ ਰਹੇ ਹਨ ...।"},maximumSelected:function(n){var e="ਤੁਸੀਂ ਸਿਰਫ਼ "+n.maximum+" ਨਤੀਜਾ ਚੁਣ ਸਕਦੇ ਹੋ ।";return 1!=n.maximum&&(e="ਤੁਸੀਂ ਸਿਰਫ਼ "+n.maximum+" ਨਤੀਜੇ ਚੁਣ ਸਕਦੇ ਹੋ ।"),e},noResults:function(){return"ਨਤੀਜਾ ਨਹੀਂ ਮਿਲ ਰਿਹਾ ਹੈ ।"},searching:function(){return"ਖ਼ੋਜ ਕਰ ਰਹੇਂ ਹਾਂ ...।"},removeAllItems:function(){return"ਸਾਰੇ ਨਤੀਜੇ ਮਿਟਾਓ ।"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/pl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/pl",[],function(){var n=["znak","znaki","znaków"],e=["element","elementy","elementów"],r=function(n,e){return 1===n?e[0]:n>1&&n<=4?e[1]:n>=5?e[2]:void 0};return{errorLoading:function(){return"Nie można załadować wyników."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Usuń "+t+" "+r(t,n)},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Podaj przynajmniej "+t+" "+r(t,n)},loadingMore:function(){return"Trwa ładowanie…"},maximumSelected:function(n){return"Możesz zaznaczyć tylko "+n.maximum+" "+r(n.maximum,e)},noResults:function(){return"Brak wyników"},searching:function(){return"Trwa wyszukiwanie…"},removeAllItems:function(){return"Usuń wszystkie przedmioty"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/ps.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ps",[],function(){return{errorLoading:function(){return"پايلي نه سي ترلاسه کېدای"},inputTooLong:function(n){var e=n.input.length-n.maximum,r="د مهربانۍ لمخي "+e+" توری ړنګ کړئ";return 1!=e&&(r=r.replace("توری","توري")),r},inputTooShort:function(n){return"لږ تر لږه "+(n.minimum-n.input.length)+" يا ډېر توري وليکئ"},loadingMore:function(){return"نوري پايلي ترلاسه کيږي..."},maximumSelected:function(n){var e="تاسو يوازي "+n.maximum+" قلم په نښه کولای سی";return 1!=n.maximum&&(e=e.replace("قلم","قلمونه")),e},noResults:function(){return"پايلي و نه موندل سوې"},searching:function(){return"لټول کيږي..."},removeAllItems:function(){return"ټول توکي لرې کړئ"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/pt-BR.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/pt-BR",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Apague "+n+" caracter";return 1!=n&&(r+="es"),r},inputTooShort:function(e){return"Digite "+(e.minimum-e.input.length)+" ou mais caracteres"},loadingMore:function(){return"Carregando mais resultados…"},maximumSelected:function(e){var n="Você só pode selecionar "+e.maximum+" ite";return 1==e.maximum?n+="m":n+="ns",n},noResults:function(){return"Nenhum resultado encontrado"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Remover todos os itens"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/pt.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/pt",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var r=e.input.length-e.maximum,n="Por favor apague "+r+" ";return n+=1!=r?"caracteres":"caractere"},inputTooShort:function(e){return"Introduza "+(e.minimum-e.input.length)+" ou mais caracteres"},loadingMore:function(){return"A carregar mais resultados…"},maximumSelected:function(e){var r="Apenas pode seleccionar "+e.maximum+" ";return r+=1!=e.maximum?"itens":"item"},noResults:function(){return"Sem resultados"},searching:function(){return"A procurar…"},removeAllItems:function(){return"Remover todos os itens"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/ro.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/ro",[],function(){return{errorLoading:function(){return"Rezultatele nu au putut fi incărcate."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vă rugăm să ștergeți"+t+" caracter";return 1!==t&&(n+="e"),n},inputTooShort:function(e){return"Vă rugăm să introduceți "+(e.minimum-e.input.length)+" sau mai multe caractere"},loadingMore:function(){return"Se încarcă mai multe rezultate…"},maximumSelected:function(e){var t="Aveți voie să selectați cel mult "+e.maximum;return t+=" element",1!==e.maximum&&(t+="e"),t},noResults:function(){return"Nu au fost găsite rezultate"},searching:function(){return"Căutare…"},removeAllItems:function(){return"Eliminați toate elementele"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/ru.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ru",[],function(){function n(n,e,r,u){return n%10<5&&n%10>0&&n%100<5||n%100>20?n%10>1?r:e:u}return{errorLoading:function(){return"Невозможно загрузить результаты"},inputTooLong:function(e){var r=e.input.length-e.maximum,u="Пожалуйста, введите на "+r+" символ";return u+=n(r,"","a","ов"),u+=" меньше"},inputTooShort:function(e){var r=e.minimum-e.input.length,u="Пожалуйста, введите ещё хотя бы "+r+" символ";return u+=n(r,"","a","ов")},loadingMore:function(){return"Загрузка данных…"},maximumSelected:function(e){var r="Вы можете выбрать не более "+e.maximum+" элемент";return r+=n(e.maximum,"","a","ов")},noResults:function(){return"Совпадений не найдено"},searching:function(){return"Поиск…"},removeAllItems:function(){return"Удалить все элементы"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/sk.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/sk",[],function(){var e={2:function(e){return e?"dva":"dve"},3:function(){return"tri"},4:function(){return"štyri"}};return{errorLoading:function(){return"Výsledky sa nepodarilo načítať."},inputTooLong:function(n){var t=n.input.length-n.maximum;return 1==t?"Prosím, zadajte o jeden znak menej":t>=2&&t<=4?"Prosím, zadajte o "+e[t](!0)+" znaky menej":"Prosím, zadajte o "+t+" znakov menej"},inputTooShort:function(n){var t=n.minimum-n.input.length;return 1==t?"Prosím, zadajte ešte jeden znak":t<=4?"Prosím, zadajte ešte ďalšie "+e[t](!0)+" znaky":"Prosím, zadajte ešte ďalších "+t+" znakov"},loadingMore:function(){return"Načítanie ďalších výsledkov…"},maximumSelected:function(n){return 1==n.maximum?"Môžete zvoliť len jednu položku":n.maximum>=2&&n.maximum<=4?"Môžete zvoliť najviac "+e[n.maximum](!1)+" položky":"Môžete zvoliť najviac "+n.maximum+" položiek"},noResults:function(){return"Nenašli sa žiadne položky"},searching:function(){return"Vyhľadávanie…"},removeAllItems:function(){return"Odstráňte všetky položky"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/sl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/sl",[],function(){return{errorLoading:function(){return"Zadetkov iskanja ni bilo mogoče naložiti."},inputTooLong:function(e){var n=e.input.length-e.maximum,t="Prosim zbrišite "+n+" znak";return 2==n?t+="a":1!=n&&(t+="e"),t},inputTooShort:function(e){var n=e.minimum-e.input.length,t="Prosim vpišite še "+n+" znak";return 2==n?t+="a":1!=n&&(t+="e"),t},loadingMore:function(){return"Nalagam več zadetkov…"},maximumSelected:function(e){var n="Označite lahko največ "+e.maximum+" predmet";return 2==e.maximum?n+="a":1!=e.maximum&&(n+="e"),n},noResults:function(){return"Ni zadetkov."},searching:function(){return"Iščem…"},removeAllItems:function(){return"Odstranite vse elemente"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/sq.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/sq",[],function(){return{errorLoading:function(){return"Rezultatet nuk mund të ngarkoheshin."},inputTooLong:function(e){var n=e.input.length-e.maximum,t="Të lutem fshi "+n+" karakter";return 1!=n&&(t+="e"),t},inputTooShort:function(e){return"Të lutem shkruaj "+(e.minimum-e.input.length)+" ose më shumë karaktere"},loadingMore:function(){return"Duke ngarkuar më shumë rezultate…"},maximumSelected:function(e){var n="Mund të zgjedhësh vetëm "+e.maximum+" element";return 1!=e.maximum&&(n+="e"),n},noResults:function(){return"Nuk u gjet asnjë rezultat"},searching:function(){return"Duke kërkuar…"},removeAllItems:function(){return"Hiq të gjitha sendet"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/sr-Cyrl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/sr-Cyrl",[],function(){function n(n,e,r,u){return n%10==1&&n%100!=11?e:n%10>=2&&n%10<=4&&(n%100<12||n%100>14)?r:u}return{errorLoading:function(){return"Преузимање није успело."},inputTooLong:function(e){var r=e.input.length-e.maximum,u="Обришите "+r+" симбол";return u+=n(r,"","а","а")},inputTooShort:function(e){var r=e.minimum-e.input.length,u="Укуцајте бар још "+r+" симбол";return u+=n(r,"","а","а")},loadingMore:function(){return"Преузимање још резултата…"},maximumSelected:function(e){var r="Можете изабрати само "+e.maximum+" ставк";return r+=n(e.maximum,"у","е","и")},noResults:function(){return"Ништа није пронађено"},searching:function(){return"Претрага…"},removeAllItems:function(){return"Уклоните све ставке"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/sr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/sr",[],function(){function n(n,e,r,t){return n%10==1&&n%100!=11?e:n%10>=2&&n%10<=4&&(n%100<12||n%100>14)?r:t}return{errorLoading:function(){return"Preuzimanje nije uspelo."},inputTooLong:function(e){var r=e.input.length-e.maximum,t="Obrišite "+r+" simbol";return t+=n(r,"","a","a")},inputTooShort:function(e){var r=e.minimum-e.input.length,t="Ukucajte bar još "+r+" simbol";return t+=n(r,"","a","a")},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(e){var r="Možete izabrati samo "+e.maximum+" stavk";return r+=n(e.maximum,"u","e","i")},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Уклоните све ставке"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/sv.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/sv",[],function(){return{errorLoading:function(){return"Resultat kunde inte laddas."},inputTooLong:function(n){return"Vänligen sudda ut "+(n.input.length-n.maximum)+" tecken"},inputTooShort:function(n){return"Vänligen skriv in "+(n.minimum-n.input.length)+" eller fler tecken"},loadingMore:function(){return"Laddar fler resultat…"},maximumSelected:function(n){return"Du kan max välja "+n.maximum+" element"},noResults:function(){return"Inga träffar"},searching:function(){return"Söker…"},removeAllItems:function(){return"Ta bort alla objekt"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/te.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/te",[],function(){return{errorLoading:function(){return"ఫలితాలు చూపించలేకపోతున్నాము"},inputTooLong:function(n){var e=n.input.length-n.maximum,r=e;return r+=1!=e?" అక్షరాలు తొలిగించండి":" అక్షరం తొలిగించండి"},inputTooShort:function(n){return n.minimum-n.input.length+" లేక మరిన్ని అక్షరాలను జోడించండి"},loadingMore:function(){return"మరిన్ని ఫలితాలు…"},maximumSelected:function(n){var e="మీరు "+n.maximum;return 1!=n.maximum?e+=" అంశాల్ని మాత్రమే ఎంచుకోగలరు":e+=" అంశాన్ని మాత్రమే ఎంచుకోగలరు",e},noResults:function(){return"ఫలితాలు లేవు"},searching:function(){return"శోధిస్తున్నాము…"},removeAllItems:function(){return"అన్ని అంశాల్ని తొలిగించండి"},removeItem:function(){return"తొలిగించు"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/th.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/th",[],function(){return{errorLoading:function(){return"ไม่สามารถค้นข้อมูลได้"},inputTooLong:function(n){return"โปรดลบออก "+(n.input.length-n.maximum)+" ตัวอักษร"},inputTooShort:function(n){return"โปรดพิมพ์เพิ่มอีก "+(n.minimum-n.input.length)+" ตัวอักษร"},loadingMore:function(){return"กำลังค้นข้อมูลเพิ่ม…"},maximumSelected:function(n){return"คุณสามารถเลือกได้ไม่เกิน "+n.maximum+" รายการ"},noResults:function(){return"ไม่พบข้อมูล"},searching:function(){return"กำลังค้นข้อมูล…"},removeAllItems:function(){return"ลบรายการทั้งหมด"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/tk.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/tk",[],function(){return{errorLoading:function(){return"Netije ýüklenmedi."},inputTooLong:function(e){return e.input.length-e.maximum+" harp bozuň."},inputTooShort:function(e){return"Ýene-de iň az "+(e.minimum-e.input.length)+" harp ýazyň."},loadingMore:function(){return"Köpräk netije görkezilýär…"},maximumSelected:function(e){return"Diňe "+e.maximum+" sanysyny saýlaň."},noResults:function(){return"Netije tapylmady."},searching:function(){return"Gözlenýär…"},removeAllItems:function(){return"Remove all items"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/tr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/tr",[],function(){return{errorLoading:function(){return"Sonuç yüklenemedi"},inputTooLong:function(n){return n.input.length-n.maximum+" karakter daha girmelisiniz"},inputTooShort:function(n){return"En az "+(n.minimum-n.input.length)+" karakter daha girmelisiniz"},loadingMore:function(){return"Daha fazla…"},maximumSelected:function(n){return"Sadece "+n.maximum+" seçim yapabilirsiniz"},noResults:function(){return"Sonuç bulunamadı"},searching:function(){return"Aranıyor…"},removeAllItems:function(){return"Tüm öğeleri kaldır"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/uk.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/uk",[],function(){function n(n,e,u,r){return n%100>10&&n%100<15?r:n%10==1?e:n%10>1&&n%10<5?u:r}return{errorLoading:function(){return"Неможливо завантажити результати"},inputTooLong:function(e){return"Будь ласка, видаліть "+(e.input.length-e.maximum)+" "+n(e.maximum,"літеру","літери","літер")},inputTooShort:function(n){return"Будь ласка, введіть "+(n.minimum-n.input.length)+" або більше літер"},loadingMore:function(){return"Завантаження інших результатів…"},maximumSelected:function(e){return"Ви можете вибрати лише "+e.maximum+" "+n(e.maximum,"пункт","пункти","пунктів")},noResults:function(){return"Нічого не знайдено"},searching:function(){return"Пошук…"},removeAllItems:function(){return"Видалити всі елементи"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/vi.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/vi",[],function(){return{inputTooLong:function(n){return"Vui lòng xóa bớt "+(n.input.length-n.maximum)+" ký tự"},inputTooShort:function(n){return"Vui lòng nhập thêm từ "+(n.minimum-n.input.length)+" ký tự trở lên"},loadingMore:function(){return"Đang lấy thêm kết quả…"},maximumSelected:function(n){return"Chỉ có thể chọn được "+n.maximum+" lựa chọn"},noResults:function(){return"Không tìm thấy kết quả"},searching:function(){return"Đang tìm…"},removeAllItems:function(){return"Xóa tất cả các mục"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/zh-CN.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结果。"},inputTooLong:function(n){return"请删除"+(n.input.length-n.maximum)+"个字符"},inputTooShort:function(n){return"请再输入至少"+(n.minimum-n.input.length)+"个字符"},loadingMore:function(){return"载入更多结果…"},maximumSelected:function(n){return"最多只能选择"+n.maximum+"个项目"},noResults:function(){return"未找到结果"},searching:function(){return"搜索中…"},removeAllItems:function(){return"删除所有项目"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/static/vendor/select2/js/i18n/zh-TW.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/zh-TW",[],function(){return{inputTooLong:function(n){return"請刪掉"+(n.input.length-n.maximum)+"個字元"},inputTooShort:function(n){return"請再輸入"+(n.minimum-n.input.length)+"個字元"},loadingMore:function(){return"載入中…"},maximumSelected:function(n){return"你只能選擇最多"+n.maximum+"項"},noResults:function(){return"沒有找到相符的項目"},searching:function(){return"搜尋中…"},removeAllItems:function(){return"刪除所有項目"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /beanhub_cli/forms/app/templates/errors.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block page_title %} 4 | Forms 5 | {% endblock %} 6 | 7 | {% block content %} 8 | 14 | 15 | {% if valid_doc %} 16 |

Your form doc is valid

17 |

Your form doc is valid, you can now go back to Forms and proceed using the forms.

18 | {% else %} 19 |

Oops, something went wrong

20 |

Oops, something is wrong with your form doc at {{ doc_path }}

21 | 22 |

Details of the errors:

23 | {% if yaml_error is not none %} 24 |
{{ yaml_error }}
25 | {% elif validation_error is not none %} 26 |
    27 | {% for error in validation_error.errors() %} 28 |
  1. 29 |
    30 | {{ error['msg'] }} 31 |
    32 | {% for key, value in error.items() if key not in ['type', 'msg'] %} 33 |
    {{ key | capitalize }}:
    34 |
    35 | {% if key == 'loc' %} 36 | {{ error[key] | format_loc }} 37 | {% elif key == 'url' %} 38 | {{ error[key] | urlize }} 39 | {% else %} 40 | {{ error[key] }} 41 | {% endif %} 42 |
    43 | {% endfor %} 44 |
    45 |
    46 | Type {{ error['type'] }} 47 |
  2. 48 | {% endfor %} 49 |
50 | {% elif value_error is not none %} 51 |
{{ value_error }}
52 | {% endif %} 53 | {% endif %} 54 | {% endblock content %} 55 | -------------------------------------------------------------------------------- /beanhub_cli/forms/app/templates/flash_messages.html: -------------------------------------------------------------------------------- 1 | {% with messages = get_flashed_messages() %} 2 | {%- if messages -%} 3 |
4 |
5 | {% for item in messages %} 6 | 14 | {% endfor %} 15 |
16 |
17 | {%- endif -%} 18 | {% endwith %} 19 | -------------------------------------------------------------------------------- /beanhub_cli/forms/app/templates/footer.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /beanhub_cli/forms/app/templates/layout.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | {{ settings.SITE_NAME }} - {% block page_title %}{% endblock %} 10 | {% block headers %}{% endblock %} 11 | {% block css %}{% endblock %} 12 | 13 | 14 | 25 | 26 |
27 | {% include "flash_messages.html" %} 28 | {% block content %}{% endblock %} 29 | {% include "footer.html" %} 30 |
31 | 32 | 33 | 34 | 35 | {% block js %}{% endblock %} 36 | 37 | -------------------------------------------------------------------------------- /beanhub_cli/forms/cli.py: -------------------------------------------------------------------------------- 1 | from ..aliase import AliasedGroup 2 | from ..cli import cli as root_cli 3 | 4 | 5 | @root_cli.group( 6 | name="form", 7 | help="Validating BeanHub Forms and running a simple web app.", 8 | cls=AliasedGroup, 9 | ) 10 | def cli(): 11 | pass 12 | -------------------------------------------------------------------------------- /beanhub_cli/inbox/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LaunchPlatform/beanhub-cli/f9a97e92bcbdb7e3ff7fc51bbcee9657503edf34/beanhub_cli/inbox/__init__.py -------------------------------------------------------------------------------- /beanhub_cli/inbox/cli.py: -------------------------------------------------------------------------------- 1 | from ..aliase import AliasedGroup 2 | from ..cli import cli as root_cli 3 | 4 | 5 | @root_cli.group( 6 | name="inbox", 7 | help="BeanHub inbox features, such as dump (login required) or extract.", 8 | cls=AliasedGroup, 9 | ) 10 | def cli(): 11 | pass 12 | -------------------------------------------------------------------------------- /beanhub_cli/internal_api/__init__.py: -------------------------------------------------------------------------------- 1 | """A client library for accessing BeanHub Internal API""" 2 | from .client import AuthenticatedClient 3 | from .client import Client 4 | 5 | __all__ = ( 6 | "AuthenticatedClient", 7 | "Client", 8 | ) 9 | -------------------------------------------------------------------------------- /beanhub_cli/internal_api/api/__init__.py: -------------------------------------------------------------------------------- 1 | """Contains methods for accessing the API""" 2 | -------------------------------------------------------------------------------- /beanhub_cli/internal_api/api/auth/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LaunchPlatform/beanhub-cli/f9a97e92bcbdb7e3ff7fc51bbcee9657503edf34/beanhub_cli/internal_api/api/auth/__init__.py -------------------------------------------------------------------------------- /beanhub_cli/internal_api/api/connect/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LaunchPlatform/beanhub-cli/f9a97e92bcbdb7e3ff7fc51bbcee9657503edf34/beanhub_cli/internal_api/api/connect/__init__.py -------------------------------------------------------------------------------- /beanhub_cli/internal_api/api/inbox/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LaunchPlatform/beanhub-cli/f9a97e92bcbdb7e3ff7fc51bbcee9657503edf34/beanhub_cli/internal_api/api/inbox/__init__.py -------------------------------------------------------------------------------- /beanhub_cli/internal_api/api/repo/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LaunchPlatform/beanhub-cli/f9a97e92bcbdb7e3ff7fc51bbcee9657503edf34/beanhub_cli/internal_api/api/repo/__init__.py -------------------------------------------------------------------------------- /beanhub_cli/internal_api/errors.py: -------------------------------------------------------------------------------- 1 | """Contains shared errors types that can be raised from API functions""" 2 | 3 | 4 | class UnexpectedStatus(Exception): 5 | """Raised by api functions when the response status an undocumented status and Client.raise_on_unexpected_status is True""" 6 | 7 | def __init__(self, status_code: int, content: bytes): 8 | self.status_code = status_code 9 | self.content = content 10 | 11 | super().__init__( 12 | f"Unexpected status code: {status_code}\n\nResponse content:\n{content.decode(errors='ignore')}" 13 | ) 14 | 15 | 16 | __all__ = ["UnexpectedStatus"] 17 | -------------------------------------------------------------------------------- /beanhub_cli/internal_api/models/__init__.py: -------------------------------------------------------------------------------- 1 | """Contains all the data models used in inputs/outputs""" 2 | from .auth_session_not_ready_response import AuthSessionNotReadyResponse 3 | from .auth_session_poll_response import AuthSessionPollResponse 4 | from .auth_session_request import AuthSessionRequest 5 | from .auth_session_response import AuthSessionResponse 6 | from .create_dump_request_request import CreateDumpRequestRequest 7 | from .create_dump_request_response import CreateDumpRequestResponse 8 | from .create_inbox_dump_request import CreateInboxDumpRequest 9 | from .create_inbox_dump_request_response import CreateInboxDumpRequestResponse 10 | from .create_sync_batch_response import CreateSyncBatchResponse 11 | from .dump_request_state import DumpRequestState 12 | from .generic_error import GenericError 13 | from .get_dump_request_response import GetDumpRequestResponse 14 | from .get_inbox_dump_request_response import GetInboxDumpRequestResponse 15 | from .get_inbox_email_response import GetInboxEmailResponse 16 | from .get_sync_batch_response import GetSyncBatchResponse 17 | from .http_validation_error import HTTPValidationError 18 | from .inbox_dump_request_state import InboxDumpRequestState 19 | from .inbox_email import InboxEmail 20 | from .inbox_email_headers import InboxEmailHeaders 21 | from .item_data import ItemData 22 | from .list_repositories_response import ListRepositoriesResponse 23 | from .plaid_item_sync_state import PlaidItemSyncState 24 | from .repository import Repository 25 | from .repository_type import RepositoryType 26 | from .sync_data import SyncData 27 | from .validation_error import ValidationError 28 | 29 | __all__ = ( 30 | "AuthSessionNotReadyResponse", 31 | "AuthSessionPollResponse", 32 | "AuthSessionRequest", 33 | "AuthSessionResponse", 34 | "CreateDumpRequestRequest", 35 | "CreateDumpRequestResponse", 36 | "CreateInboxDumpRequest", 37 | "CreateInboxDumpRequestResponse", 38 | "CreateSyncBatchResponse", 39 | "DumpRequestState", 40 | "GenericError", 41 | "GetDumpRequestResponse", 42 | "GetInboxDumpRequestResponse", 43 | "GetInboxEmailResponse", 44 | "GetSyncBatchResponse", 45 | "HTTPValidationError", 46 | "InboxDumpRequestState", 47 | "InboxEmail", 48 | "InboxEmailHeaders", 49 | "ItemData", 50 | "ListRepositoriesResponse", 51 | "PlaidItemSyncState", 52 | "Repository", 53 | "RepositoryType", 54 | "SyncData", 55 | "ValidationError", 56 | ) 57 | -------------------------------------------------------------------------------- /beanhub_cli/internal_api/models/auth_session_not_ready_response.py: -------------------------------------------------------------------------------- 1 | from typing import Any 2 | from typing import TypeVar 3 | 4 | from attrs import define as _attrs_define 5 | from attrs import field as _attrs_field 6 | 7 | T = TypeVar("T", bound="AuthSessionNotReadyResponse") 8 | 9 | 10 | @_attrs_define 11 | class AuthSessionNotReadyResponse: 12 | """ 13 | Attributes: 14 | code (str): 15 | message (str): 16 | """ 17 | 18 | code: str 19 | message: str 20 | additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict) 21 | 22 | def to_dict(self) -> dict[str, Any]: 23 | code = self.code 24 | 25 | message = self.message 26 | 27 | field_dict: dict[str, Any] = {} 28 | field_dict.update(self.additional_properties) 29 | field_dict.update( 30 | { 31 | "code": code, 32 | "message": message, 33 | } 34 | ) 35 | 36 | return field_dict 37 | 38 | @classmethod 39 | def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T: 40 | d = src_dict.copy() 41 | code = d.pop("code") 42 | 43 | message = d.pop("message") 44 | 45 | auth_session_not_ready_response = cls( 46 | code=code, 47 | message=message, 48 | ) 49 | 50 | auth_session_not_ready_response.additional_properties = d 51 | return auth_session_not_ready_response 52 | 53 | @property 54 | def additional_keys(self) -> list[str]: 55 | return list(self.additional_properties.keys()) 56 | 57 | def __getitem__(self, key: str) -> Any: 58 | return self.additional_properties[key] 59 | 60 | def __setitem__(self, key: str, value: Any) -> None: 61 | self.additional_properties[key] = value 62 | 63 | def __delitem__(self, key: str) -> None: 64 | del self.additional_properties[key] 65 | 66 | def __contains__(self, key: str) -> bool: 67 | return key in self.additional_properties 68 | -------------------------------------------------------------------------------- /beanhub_cli/internal_api/models/auth_session_request.py: -------------------------------------------------------------------------------- 1 | from typing import Any 2 | from typing import TypeVar 3 | 4 | from attrs import define as _attrs_define 5 | from attrs import field as _attrs_field 6 | 7 | T = TypeVar("T", bound="AuthSessionRequest") 8 | 9 | 10 | @_attrs_define 11 | class AuthSessionRequest: 12 | """ 13 | Attributes: 14 | hostname (str): 15 | """ 16 | 17 | hostname: str 18 | additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict) 19 | 20 | def to_dict(self) -> dict[str, Any]: 21 | hostname = self.hostname 22 | 23 | field_dict: dict[str, Any] = {} 24 | field_dict.update(self.additional_properties) 25 | field_dict.update( 26 | { 27 | "hostname": hostname, 28 | } 29 | ) 30 | 31 | return field_dict 32 | 33 | @classmethod 34 | def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T: 35 | d = src_dict.copy() 36 | hostname = d.pop("hostname") 37 | 38 | auth_session_request = cls( 39 | hostname=hostname, 40 | ) 41 | 42 | auth_session_request.additional_properties = d 43 | return auth_session_request 44 | 45 | @property 46 | def additional_keys(self) -> list[str]: 47 | return list(self.additional_properties.keys()) 48 | 49 | def __getitem__(self, key: str) -> Any: 50 | return self.additional_properties[key] 51 | 52 | def __setitem__(self, key: str, value: Any) -> None: 53 | self.additional_properties[key] = value 54 | 55 | def __delitem__(self, key: str) -> None: 56 | del self.additional_properties[key] 57 | 58 | def __contains__(self, key: str) -> bool: 59 | return key in self.additional_properties 60 | -------------------------------------------------------------------------------- /beanhub_cli/internal_api/models/create_dump_request_request.py: -------------------------------------------------------------------------------- 1 | from typing import Any 2 | from typing import TypeVar 3 | from typing import Union 4 | 5 | from attrs import define as _attrs_define 6 | from attrs import field as _attrs_field 7 | 8 | from ..types import UNSET 9 | from ..types import Unset 10 | 11 | T = TypeVar("T", bound="CreateDumpRequestRequest") 12 | 13 | 14 | @_attrs_define 15 | class CreateDumpRequestRequest: 16 | """ 17 | Attributes: 18 | public_key (str): 19 | output_accounts (Union[Unset, bool]): Default: False. 20 | """ 21 | 22 | public_key: str 23 | output_accounts: Union[Unset, bool] = False 24 | additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict) 25 | 26 | def to_dict(self) -> dict[str, Any]: 27 | public_key = self.public_key 28 | 29 | output_accounts = self.output_accounts 30 | 31 | field_dict: dict[str, Any] = {} 32 | field_dict.update(self.additional_properties) 33 | field_dict.update( 34 | { 35 | "public_key": public_key, 36 | } 37 | ) 38 | if output_accounts is not UNSET: 39 | field_dict["output_accounts"] = output_accounts 40 | 41 | return field_dict 42 | 43 | @classmethod 44 | def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T: 45 | d = src_dict.copy() 46 | public_key = d.pop("public_key") 47 | 48 | output_accounts = d.pop("output_accounts", UNSET) 49 | 50 | create_dump_request_request = cls( 51 | public_key=public_key, 52 | output_accounts=output_accounts, 53 | ) 54 | 55 | create_dump_request_request.additional_properties = d 56 | return create_dump_request_request 57 | 58 | @property 59 | def additional_keys(self) -> list[str]: 60 | return list(self.additional_properties.keys()) 61 | 62 | def __getitem__(self, key: str) -> Any: 63 | return self.additional_properties[key] 64 | 65 | def __setitem__(self, key: str, value: Any) -> None: 66 | self.additional_properties[key] = value 67 | 68 | def __delitem__(self, key: str) -> None: 69 | del self.additional_properties[key] 70 | 71 | def __contains__(self, key: str) -> bool: 72 | return key in self.additional_properties 73 | -------------------------------------------------------------------------------- /beanhub_cli/internal_api/models/create_dump_request_response.py: -------------------------------------------------------------------------------- 1 | from typing import Any 2 | from typing import TypeVar 3 | from uuid import UUID 4 | 5 | from attrs import define as _attrs_define 6 | from attrs import field as _attrs_field 7 | 8 | T = TypeVar("T", bound="CreateDumpRequestResponse") 9 | 10 | 11 | @_attrs_define 12 | class CreateDumpRequestResponse: 13 | """ 14 | Attributes: 15 | id (UUID): 16 | """ 17 | 18 | id: UUID 19 | additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict) 20 | 21 | def to_dict(self) -> dict[str, Any]: 22 | id = str(self.id) 23 | 24 | field_dict: dict[str, Any] = {} 25 | field_dict.update(self.additional_properties) 26 | field_dict.update( 27 | { 28 | "id": id, 29 | } 30 | ) 31 | 32 | return field_dict 33 | 34 | @classmethod 35 | def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T: 36 | d = src_dict.copy() 37 | id = UUID(d.pop("id")) 38 | 39 | create_dump_request_response = cls( 40 | id=id, 41 | ) 42 | 43 | create_dump_request_response.additional_properties = d 44 | return create_dump_request_response 45 | 46 | @property 47 | def additional_keys(self) -> list[str]: 48 | return list(self.additional_properties.keys()) 49 | 50 | def __getitem__(self, key: str) -> Any: 51 | return self.additional_properties[key] 52 | 53 | def __setitem__(self, key: str, value: Any) -> None: 54 | self.additional_properties[key] = value 55 | 56 | def __delitem__(self, key: str) -> None: 57 | del self.additional_properties[key] 58 | 59 | def __contains__(self, key: str) -> bool: 60 | return key in self.additional_properties 61 | -------------------------------------------------------------------------------- /beanhub_cli/internal_api/models/create_inbox_dump_request.py: -------------------------------------------------------------------------------- 1 | from typing import Any 2 | from typing import cast 3 | from typing import TypeVar 4 | 5 | from attrs import define as _attrs_define 6 | from attrs import field as _attrs_field 7 | 8 | T = TypeVar("T", bound="CreateInboxDumpRequest") 9 | 10 | 11 | @_attrs_define 12 | class CreateInboxDumpRequest: 13 | """ 14 | Attributes: 15 | public_key (str): 16 | email_ids (list[str]): 17 | """ 18 | 19 | public_key: str 20 | email_ids: list[str] 21 | additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict) 22 | 23 | def to_dict(self) -> dict[str, Any]: 24 | public_key = self.public_key 25 | 26 | email_ids = self.email_ids 27 | 28 | field_dict: dict[str, Any] = {} 29 | field_dict.update(self.additional_properties) 30 | field_dict.update( 31 | { 32 | "public_key": public_key, 33 | "email_ids": email_ids, 34 | } 35 | ) 36 | 37 | return field_dict 38 | 39 | @classmethod 40 | def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T: 41 | d = src_dict.copy() 42 | public_key = d.pop("public_key") 43 | 44 | email_ids = cast(list[str], d.pop("email_ids")) 45 | 46 | create_inbox_dump_request = cls( 47 | public_key=public_key, 48 | email_ids=email_ids, 49 | ) 50 | 51 | create_inbox_dump_request.additional_properties = d 52 | return create_inbox_dump_request 53 | 54 | @property 55 | def additional_keys(self) -> list[str]: 56 | return list(self.additional_properties.keys()) 57 | 58 | def __getitem__(self, key: str) -> Any: 59 | return self.additional_properties[key] 60 | 61 | def __setitem__(self, key: str, value: Any) -> None: 62 | self.additional_properties[key] = value 63 | 64 | def __delitem__(self, key: str) -> None: 65 | del self.additional_properties[key] 66 | 67 | def __contains__(self, key: str) -> bool: 68 | return key in self.additional_properties 69 | -------------------------------------------------------------------------------- /beanhub_cli/internal_api/models/create_inbox_dump_request_response.py: -------------------------------------------------------------------------------- 1 | from typing import Any 2 | from typing import TypeVar 3 | from uuid import UUID 4 | 5 | from attrs import define as _attrs_define 6 | from attrs import field as _attrs_field 7 | 8 | T = TypeVar("T", bound="CreateInboxDumpRequestResponse") 9 | 10 | 11 | @_attrs_define 12 | class CreateInboxDumpRequestResponse: 13 | """ 14 | Attributes: 15 | id (UUID): 16 | """ 17 | 18 | id: UUID 19 | additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict) 20 | 21 | def to_dict(self) -> dict[str, Any]: 22 | id = str(self.id) 23 | 24 | field_dict: dict[str, Any] = {} 25 | field_dict.update(self.additional_properties) 26 | field_dict.update( 27 | { 28 | "id": id, 29 | } 30 | ) 31 | 32 | return field_dict 33 | 34 | @classmethod 35 | def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T: 36 | d = src_dict.copy() 37 | id = UUID(d.pop("id")) 38 | 39 | create_inbox_dump_request_response = cls( 40 | id=id, 41 | ) 42 | 43 | create_inbox_dump_request_response.additional_properties = d 44 | return create_inbox_dump_request_response 45 | 46 | @property 47 | def additional_keys(self) -> list[str]: 48 | return list(self.additional_properties.keys()) 49 | 50 | def __getitem__(self, key: str) -> Any: 51 | return self.additional_properties[key] 52 | 53 | def __setitem__(self, key: str, value: Any) -> None: 54 | self.additional_properties[key] = value 55 | 56 | def __delitem__(self, key: str) -> None: 57 | del self.additional_properties[key] 58 | 59 | def __contains__(self, key: str) -> bool: 60 | return key in self.additional_properties 61 | -------------------------------------------------------------------------------- /beanhub_cli/internal_api/models/create_sync_batch_response.py: -------------------------------------------------------------------------------- 1 | from typing import Any 2 | from typing import TypeVar 3 | from uuid import UUID 4 | 5 | from attrs import define as _attrs_define 6 | from attrs import field as _attrs_field 7 | 8 | T = TypeVar("T", bound="CreateSyncBatchResponse") 9 | 10 | 11 | @_attrs_define 12 | class CreateSyncBatchResponse: 13 | """ 14 | Attributes: 15 | id (UUID): 16 | """ 17 | 18 | id: UUID 19 | additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict) 20 | 21 | def to_dict(self) -> dict[str, Any]: 22 | id = str(self.id) 23 | 24 | field_dict: dict[str, Any] = {} 25 | field_dict.update(self.additional_properties) 26 | field_dict.update( 27 | { 28 | "id": id, 29 | } 30 | ) 31 | 32 | return field_dict 33 | 34 | @classmethod 35 | def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T: 36 | d = src_dict.copy() 37 | id = UUID(d.pop("id")) 38 | 39 | create_sync_batch_response = cls( 40 | id=id, 41 | ) 42 | 43 | create_sync_batch_response.additional_properties = d 44 | return create_sync_batch_response 45 | 46 | @property 47 | def additional_keys(self) -> list[str]: 48 | return list(self.additional_properties.keys()) 49 | 50 | def __getitem__(self, key: str) -> Any: 51 | return self.additional_properties[key] 52 | 53 | def __setitem__(self, key: str, value: Any) -> None: 54 | self.additional_properties[key] = value 55 | 56 | def __delitem__(self, key: str) -> None: 57 | del self.additional_properties[key] 58 | 59 | def __contains__(self, key: str) -> bool: 60 | return key in self.additional_properties 61 | -------------------------------------------------------------------------------- /beanhub_cli/internal_api/models/dump_request_state.py: -------------------------------------------------------------------------------- 1 | from enum import Enum 2 | 3 | 4 | class DumpRequestState(str, Enum): 5 | COMPLETE = "COMPLETE" 6 | FAILED = "FAILED" 7 | PENDING = "PENDING" 8 | PROCESSING = "PROCESSING" 9 | 10 | def __str__(self) -> str: 11 | return str(self.value) 12 | -------------------------------------------------------------------------------- /beanhub_cli/internal_api/models/generic_error.py: -------------------------------------------------------------------------------- 1 | from typing import Any 2 | from typing import TypeVar 3 | from typing import Union 4 | 5 | from attrs import define as _attrs_define 6 | from attrs import field as _attrs_field 7 | 8 | from ..types import UNSET 9 | from ..types import Unset 10 | 11 | T = TypeVar("T", bound="GenericError") 12 | 13 | 14 | @_attrs_define 15 | class GenericError: 16 | """ 17 | Attributes: 18 | detail (Union[Unset, Any]): 19 | """ 20 | 21 | detail: Union[Unset, Any] = UNSET 22 | additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict) 23 | 24 | def to_dict(self) -> dict[str, Any]: 25 | detail = self.detail 26 | 27 | field_dict: dict[str, Any] = {} 28 | field_dict.update(self.additional_properties) 29 | field_dict.update({}) 30 | if detail is not UNSET: 31 | field_dict["detail"] = detail 32 | 33 | return field_dict 34 | 35 | @classmethod 36 | def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T: 37 | d = src_dict.copy() 38 | detail = d.pop("detail", UNSET) 39 | 40 | generic_error = cls( 41 | detail=detail, 42 | ) 43 | 44 | generic_error.additional_properties = d 45 | return generic_error 46 | 47 | @property 48 | def additional_keys(self) -> list[str]: 49 | return list(self.additional_properties.keys()) 50 | 51 | def __getitem__(self, key: str) -> Any: 52 | return self.additional_properties[key] 53 | 54 | def __setitem__(self, key: str, value: Any) -> None: 55 | self.additional_properties[key] = value 56 | 57 | def __delitem__(self, key: str) -> None: 58 | del self.additional_properties[key] 59 | 60 | def __contains__(self, key: str) -> bool: 61 | return key in self.additional_properties 62 | -------------------------------------------------------------------------------- /beanhub_cli/internal_api/models/get_sync_batch_response.py: -------------------------------------------------------------------------------- 1 | from typing import Any 2 | from typing import TYPE_CHECKING 3 | from typing import TypeVar 4 | from uuid import UUID 5 | 6 | from attrs import define as _attrs_define 7 | from attrs import field as _attrs_field 8 | 9 | if TYPE_CHECKING: 10 | from ..models.sync_data import SyncData 11 | 12 | 13 | T = TypeVar("T", bound="GetSyncBatchResponse") 14 | 15 | 16 | @_attrs_define 17 | class GetSyncBatchResponse: 18 | """ 19 | Attributes: 20 | id (UUID): 21 | syncs (list['SyncData']): 22 | """ 23 | 24 | id: UUID 25 | syncs: list["SyncData"] 26 | additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict) 27 | 28 | def to_dict(self) -> dict[str, Any]: 29 | id = str(self.id) 30 | 31 | syncs = [] 32 | for syncs_item_data in self.syncs: 33 | syncs_item = syncs_item_data.to_dict() 34 | syncs.append(syncs_item) 35 | 36 | field_dict: dict[str, Any] = {} 37 | field_dict.update(self.additional_properties) 38 | field_dict.update( 39 | { 40 | "id": id, 41 | "syncs": syncs, 42 | } 43 | ) 44 | 45 | return field_dict 46 | 47 | @classmethod 48 | def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T: 49 | from ..models.sync_data import SyncData 50 | 51 | d = src_dict.copy() 52 | id = UUID(d.pop("id")) 53 | 54 | syncs = [] 55 | _syncs = d.pop("syncs") 56 | for syncs_item_data in _syncs: 57 | syncs_item = SyncData.from_dict(syncs_item_data) 58 | 59 | syncs.append(syncs_item) 60 | 61 | get_sync_batch_response = cls( 62 | id=id, 63 | syncs=syncs, 64 | ) 65 | 66 | get_sync_batch_response.additional_properties = d 67 | return get_sync_batch_response 68 | 69 | @property 70 | def additional_keys(self) -> list[str]: 71 | return list(self.additional_properties.keys()) 72 | 73 | def __getitem__(self, key: str) -> Any: 74 | return self.additional_properties[key] 75 | 76 | def __setitem__(self, key: str, value: Any) -> None: 77 | self.additional_properties[key] = value 78 | 79 | def __delitem__(self, key: str) -> None: 80 | del self.additional_properties[key] 81 | 82 | def __contains__(self, key: str) -> bool: 83 | return key in self.additional_properties 84 | -------------------------------------------------------------------------------- /beanhub_cli/internal_api/models/http_validation_error.py: -------------------------------------------------------------------------------- 1 | from typing import Any 2 | from typing import TYPE_CHECKING 3 | from typing import TypeVar 4 | from typing import Union 5 | 6 | from attrs import define as _attrs_define 7 | from attrs import field as _attrs_field 8 | 9 | from ..types import UNSET 10 | from ..types import Unset 11 | 12 | if TYPE_CHECKING: 13 | from ..models.validation_error import ValidationError 14 | 15 | 16 | T = TypeVar("T", bound="HTTPValidationError") 17 | 18 | 19 | @_attrs_define 20 | class HTTPValidationError: 21 | """ 22 | Attributes: 23 | detail (Union[Unset, list['ValidationError']]): 24 | """ 25 | 26 | detail: Union[Unset, list["ValidationError"]] = UNSET 27 | additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict) 28 | 29 | def to_dict(self) -> dict[str, Any]: 30 | detail: Union[Unset, list[dict[str, Any]]] = UNSET 31 | if not isinstance(self.detail, Unset): 32 | detail = [] 33 | for detail_item_data in self.detail: 34 | detail_item = detail_item_data.to_dict() 35 | detail.append(detail_item) 36 | 37 | field_dict: dict[str, Any] = {} 38 | field_dict.update(self.additional_properties) 39 | field_dict.update({}) 40 | if detail is not UNSET: 41 | field_dict["detail"] = detail 42 | 43 | return field_dict 44 | 45 | @classmethod 46 | def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T: 47 | from ..models.validation_error import ValidationError 48 | 49 | d = src_dict.copy() 50 | detail = [] 51 | _detail = d.pop("detail", UNSET) 52 | for detail_item_data in _detail or []: 53 | detail_item = ValidationError.from_dict(detail_item_data) 54 | 55 | detail.append(detail_item) 56 | 57 | http_validation_error = cls( 58 | detail=detail, 59 | ) 60 | 61 | http_validation_error.additional_properties = d 62 | return http_validation_error 63 | 64 | @property 65 | def additional_keys(self) -> list[str]: 66 | return list(self.additional_properties.keys()) 67 | 68 | def __getitem__(self, key: str) -> Any: 69 | return self.additional_properties[key] 70 | 71 | def __setitem__(self, key: str, value: Any) -> None: 72 | self.additional_properties[key] = value 73 | 74 | def __delitem__(self, key: str) -> None: 75 | del self.additional_properties[key] 76 | 77 | def __contains__(self, key: str) -> bool: 78 | return key in self.additional_properties 79 | -------------------------------------------------------------------------------- /beanhub_cli/internal_api/models/inbox_dump_request_state.py: -------------------------------------------------------------------------------- 1 | from enum import Enum 2 | 3 | 4 | class InboxDumpRequestState(str, Enum): 5 | COMPLETE = "COMPLETE" 6 | FAILED = "FAILED" 7 | PENDING = "PENDING" 8 | PROCESSING = "PROCESSING" 9 | 10 | def __str__(self) -> str: 11 | return str(self.value) 12 | -------------------------------------------------------------------------------- /beanhub_cli/internal_api/models/inbox_email_headers.py: -------------------------------------------------------------------------------- 1 | from typing import Any 2 | from typing import TypeVar 3 | 4 | from attrs import define as _attrs_define 5 | from attrs import field as _attrs_field 6 | 7 | T = TypeVar("T", bound="InboxEmailHeaders") 8 | 9 | 10 | @_attrs_define 11 | class InboxEmailHeaders: 12 | """ """ 13 | 14 | additional_properties: dict[str, str] = _attrs_field(init=False, factory=dict) 15 | 16 | def to_dict(self) -> dict[str, Any]: 17 | field_dict: dict[str, Any] = {} 18 | field_dict.update(self.additional_properties) 19 | 20 | return field_dict 21 | 22 | @classmethod 23 | def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T: 24 | d = src_dict.copy() 25 | inbox_email_headers = cls() 26 | 27 | inbox_email_headers.additional_properties = d 28 | return inbox_email_headers 29 | 30 | @property 31 | def additional_keys(self) -> list[str]: 32 | return list(self.additional_properties.keys()) 33 | 34 | def __getitem__(self, key: str) -> str: 35 | return self.additional_properties[key] 36 | 37 | def __setitem__(self, key: str, value: str) -> None: 38 | self.additional_properties[key] = value 39 | 40 | def __delitem__(self, key: str) -> None: 41 | del self.additional_properties[key] 42 | 43 | def __contains__(self, key: str) -> bool: 44 | return key in self.additional_properties 45 | -------------------------------------------------------------------------------- /beanhub_cli/internal_api/models/item_data.py: -------------------------------------------------------------------------------- 1 | from typing import Any 2 | from typing import cast 3 | from typing import TypeVar 4 | from typing import Union 5 | 6 | from attrs import define as _attrs_define 7 | from attrs import field as _attrs_field 8 | 9 | T = TypeVar("T", bound="ItemData") 10 | 11 | 12 | @_attrs_define 13 | class ItemData: 14 | """ 15 | Attributes: 16 | id (str): 17 | institution_name (Union[None, str]): 18 | """ 19 | 20 | id: str 21 | institution_name: Union[None, str] 22 | additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict) 23 | 24 | def to_dict(self) -> dict[str, Any]: 25 | id = self.id 26 | 27 | institution_name: Union[None, str] 28 | institution_name = self.institution_name 29 | 30 | field_dict: dict[str, Any] = {} 31 | field_dict.update(self.additional_properties) 32 | field_dict.update( 33 | { 34 | "id": id, 35 | "institution_name": institution_name, 36 | } 37 | ) 38 | 39 | return field_dict 40 | 41 | @classmethod 42 | def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T: 43 | d = src_dict.copy() 44 | id = d.pop("id") 45 | 46 | def _parse_institution_name(data: object) -> Union[None, str]: 47 | if data is None: 48 | return data 49 | return cast(Union[None, str], data) 50 | 51 | institution_name = _parse_institution_name(d.pop("institution_name")) 52 | 53 | item_data = cls( 54 | id=id, 55 | institution_name=institution_name, 56 | ) 57 | 58 | item_data.additional_properties = d 59 | return item_data 60 | 61 | @property 62 | def additional_keys(self) -> list[str]: 63 | return list(self.additional_properties.keys()) 64 | 65 | def __getitem__(self, key: str) -> Any: 66 | return self.additional_properties[key] 67 | 68 | def __setitem__(self, key: str, value: Any) -> None: 69 | self.additional_properties[key] = value 70 | 71 | def __delitem__(self, key: str) -> None: 72 | del self.additional_properties[key] 73 | 74 | def __contains__(self, key: str) -> bool: 75 | return key in self.additional_properties 76 | -------------------------------------------------------------------------------- /beanhub_cli/internal_api/models/list_repositories_response.py: -------------------------------------------------------------------------------- 1 | from typing import Any 2 | from typing import TYPE_CHECKING 3 | from typing import TypeVar 4 | 5 | from attrs import define as _attrs_define 6 | from attrs import field as _attrs_field 7 | 8 | if TYPE_CHECKING: 9 | from ..models.repository import Repository 10 | 11 | 12 | T = TypeVar("T", bound="ListRepositoriesResponse") 13 | 14 | 15 | @_attrs_define 16 | class ListRepositoriesResponse: 17 | """ 18 | Attributes: 19 | repositories (list['Repository']): 20 | """ 21 | 22 | repositories: list["Repository"] 23 | additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict) 24 | 25 | def to_dict(self) -> dict[str, Any]: 26 | repositories = [] 27 | for repositories_item_data in self.repositories: 28 | repositories_item = repositories_item_data.to_dict() 29 | repositories.append(repositories_item) 30 | 31 | field_dict: dict[str, Any] = {} 32 | field_dict.update(self.additional_properties) 33 | field_dict.update( 34 | { 35 | "repositories": repositories, 36 | } 37 | ) 38 | 39 | return field_dict 40 | 41 | @classmethod 42 | def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T: 43 | from ..models.repository import Repository 44 | 45 | d = src_dict.copy() 46 | repositories = [] 47 | _repositories = d.pop("repositories") 48 | for repositories_item_data in _repositories: 49 | repositories_item = Repository.from_dict(repositories_item_data) 50 | 51 | repositories.append(repositories_item) 52 | 53 | list_repositories_response = cls( 54 | repositories=repositories, 55 | ) 56 | 57 | list_repositories_response.additional_properties = d 58 | return list_repositories_response 59 | 60 | @property 61 | def additional_keys(self) -> list[str]: 62 | return list(self.additional_properties.keys()) 63 | 64 | def __getitem__(self, key: str) -> Any: 65 | return self.additional_properties[key] 66 | 67 | def __setitem__(self, key: str, value: Any) -> None: 68 | self.additional_properties[key] = value 69 | 70 | def __delitem__(self, key: str) -> None: 71 | del self.additional_properties[key] 72 | 73 | def __contains__(self, key: str) -> bool: 74 | return key in self.additional_properties 75 | -------------------------------------------------------------------------------- /beanhub_cli/internal_api/models/plaid_item_sync_state.py: -------------------------------------------------------------------------------- 1 | from enum import Enum 2 | 3 | 4 | class PlaidItemSyncState(str, Enum): 5 | IMPORT_COMPLETE = "IMPORT_COMPLETE" 6 | IMPORT_COMPLETE_NO_CHANGES = "IMPORT_COMPLETE_NO_CHANGES" 7 | IMPORT_FAILED = "IMPORT_FAILED" 8 | PENDING = "PENDING" 9 | PROCESSING = "PROCESSING" 10 | SYNC_COMPLETE = "SYNC_COMPLETE" 11 | SYNC_FAILED = "SYNC_FAILED" 12 | 13 | def __str__(self) -> str: 14 | return str(self.value) 15 | -------------------------------------------------------------------------------- /beanhub_cli/internal_api/models/repository.py: -------------------------------------------------------------------------------- 1 | from typing import Any 2 | from typing import TypeVar 3 | 4 | from attrs import define as _attrs_define 5 | from attrs import field as _attrs_field 6 | 7 | from ..models.repository_type import RepositoryType 8 | 9 | T = TypeVar("T", bound="Repository") 10 | 11 | 12 | @_attrs_define 13 | class Repository: 14 | """ 15 | Attributes: 16 | username (str): 17 | name (str): 18 | type_ (RepositoryType): 19 | public (bool): 20 | active (bool): 21 | """ 22 | 23 | username: str 24 | name: str 25 | type_: RepositoryType 26 | public: bool 27 | active: bool 28 | additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict) 29 | 30 | def to_dict(self) -> dict[str, Any]: 31 | username = self.username 32 | 33 | name = self.name 34 | 35 | type_ = self.type_.value 36 | 37 | public = self.public 38 | 39 | active = self.active 40 | 41 | field_dict: dict[str, Any] = {} 42 | field_dict.update(self.additional_properties) 43 | field_dict.update( 44 | { 45 | "username": username, 46 | "name": name, 47 | "type": type_, 48 | "public": public, 49 | "active": active, 50 | } 51 | ) 52 | 53 | return field_dict 54 | 55 | @classmethod 56 | def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T: 57 | d = src_dict.copy() 58 | username = d.pop("username") 59 | 60 | name = d.pop("name") 61 | 62 | type_ = RepositoryType(d.pop("type")) 63 | 64 | public = d.pop("public") 65 | 66 | active = d.pop("active") 67 | 68 | repository = cls( 69 | username=username, 70 | name=name, 71 | type_=type_, 72 | public=public, 73 | active=active, 74 | ) 75 | 76 | repository.additional_properties = d 77 | return repository 78 | 79 | @property 80 | def additional_keys(self) -> list[str]: 81 | return list(self.additional_properties.keys()) 82 | 83 | def __getitem__(self, key: str) -> Any: 84 | return self.additional_properties[key] 85 | 86 | def __setitem__(self, key: str, value: Any) -> None: 87 | self.additional_properties[key] = value 88 | 89 | def __delitem__(self, key: str) -> None: 90 | del self.additional_properties[key] 91 | 92 | def __contains__(self, key: str) -> bool: 93 | return key in self.additional_properties 94 | -------------------------------------------------------------------------------- /beanhub_cli/internal_api/models/repository_type.py: -------------------------------------------------------------------------------- 1 | from enum import Enum 2 | 3 | 4 | class RepositoryType(str, Enum): 5 | CONNECT = "CONNECT" 6 | GIT = "GIT" 7 | 8 | def __str__(self) -> str: 9 | return str(self.value) 10 | -------------------------------------------------------------------------------- /beanhub_cli/internal_api/models/validation_error.py: -------------------------------------------------------------------------------- 1 | from typing import Any 2 | from typing import cast 3 | from typing import TypeVar 4 | from typing import Union 5 | 6 | from attrs import define as _attrs_define 7 | from attrs import field as _attrs_field 8 | 9 | T = TypeVar("T", bound="ValidationError") 10 | 11 | 12 | @_attrs_define 13 | class ValidationError: 14 | """ 15 | Attributes: 16 | loc (list[Union[int, str]]): 17 | msg (str): 18 | type_ (str): 19 | """ 20 | 21 | loc: list[Union[int, str]] 22 | msg: str 23 | type_: str 24 | additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict) 25 | 26 | def to_dict(self) -> dict[str, Any]: 27 | loc = [] 28 | for loc_item_data in self.loc: 29 | loc_item: Union[int, str] 30 | loc_item = loc_item_data 31 | loc.append(loc_item) 32 | 33 | msg = self.msg 34 | 35 | type_ = self.type_ 36 | 37 | field_dict: dict[str, Any] = {} 38 | field_dict.update(self.additional_properties) 39 | field_dict.update( 40 | { 41 | "loc": loc, 42 | "msg": msg, 43 | "type": type_, 44 | } 45 | ) 46 | 47 | return field_dict 48 | 49 | @classmethod 50 | def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T: 51 | d = src_dict.copy() 52 | loc = [] 53 | _loc = d.pop("loc") 54 | for loc_item_data in _loc: 55 | 56 | def _parse_loc_item(data: object) -> Union[int, str]: 57 | return cast(Union[int, str], data) 58 | 59 | loc_item = _parse_loc_item(loc_item_data) 60 | 61 | loc.append(loc_item) 62 | 63 | msg = d.pop("msg") 64 | 65 | type_ = d.pop("type") 66 | 67 | validation_error = cls( 68 | loc=loc, 69 | msg=msg, 70 | type_=type_, 71 | ) 72 | 73 | validation_error.additional_properties = d 74 | return validation_error 75 | 76 | @property 77 | def additional_keys(self) -> list[str]: 78 | return list(self.additional_properties.keys()) 79 | 80 | def __getitem__(self, key: str) -> Any: 81 | return self.additional_properties[key] 82 | 83 | def __setitem__(self, key: str, value: Any) -> None: 84 | self.additional_properties[key] = value 85 | 86 | def __delitem__(self, key: str) -> None: 87 | del self.additional_properties[key] 88 | 89 | def __contains__(self, key: str) -> bool: 90 | return key in self.additional_properties 91 | -------------------------------------------------------------------------------- /beanhub_cli/internal_api/py.typed: -------------------------------------------------------------------------------- 1 | # Marker file for PEP 561 -------------------------------------------------------------------------------- /beanhub_cli/internal_api/types.py: -------------------------------------------------------------------------------- 1 | """Contains some shared types for properties""" 2 | from collections.abc import MutableMapping 3 | from http import HTTPStatus 4 | from typing import BinaryIO 5 | from typing import Generic 6 | from typing import Literal 7 | from typing import Optional 8 | from typing import TypeVar 9 | 10 | from attrs import define 11 | 12 | 13 | class Unset: 14 | def __bool__(self) -> Literal[False]: 15 | return False 16 | 17 | 18 | UNSET: Unset = Unset() 19 | 20 | FileJsonType = tuple[Optional[str], BinaryIO, Optional[str]] 21 | 22 | 23 | @define 24 | class File: 25 | """Contains information for file uploads""" 26 | 27 | payload: BinaryIO 28 | file_name: Optional[str] = None 29 | mime_type: Optional[str] = None 30 | 31 | def to_tuple(self) -> FileJsonType: 32 | """Return a tuple representation that httpx will accept for multipart/form-data""" 33 | return self.file_name, self.payload, self.mime_type 34 | 35 | 36 | T = TypeVar("T") 37 | 38 | 39 | @define 40 | class Response(Generic[T]): 41 | """A response from an endpoint""" 42 | 43 | status_code: HTTPStatus 44 | content: bytes 45 | headers: MutableMapping[str, str] 46 | parsed: Optional[T] 47 | 48 | 49 | __all__ = ["UNSET", "File", "FileJsonType", "Response", "Unset"] 50 | -------------------------------------------------------------------------------- /beanhub_cli/main.py: -------------------------------------------------------------------------------- 1 | from . import format # noqa 2 | from .cli import cli 3 | from .connect import main as connect # noqa 4 | from .forms import main as forms # noqa 5 | from .import_cli import main as import_cli # noqa 6 | from .inbox import main as inbox # noqa 7 | from .login import main as login # noqa 8 | 9 | __ALL__ = [cli] 10 | 11 | if __name__ == "__main__": 12 | cli() 13 | -------------------------------------------------------------------------------- /data/internal-api-config.yaml: -------------------------------------------------------------------------------- 1 | package_name_override: "internal_api" 2 | -------------------------------------------------------------------------------- /docs/docs/assets/favicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /docs/docs/assets/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/docs/commands/form.md: -------------------------------------------------------------------------------- 1 | # BeanHub Forms 2 | 3 | BeanHub Forms lets you define your custom forms and simplify repetitive input tasks. 4 | It also makes it much easier for non-technical users to help you maintain the Beancount books without knowing the syntax. 5 | It's also an open-source library. You must define your custom forms at `.beanhub/forms.yaml` in your Beancount repository. 6 | You can visit [beanhub-forms](https://github.com/LaunchPlatform/beanhub-forms) to learn more about the custom form scheme. 7 | 8 | ### Serve web app 9 | 10 | To make it much easier for BeanHub users to test their BeanHub Forms locally, we added a simple local web app for that in beanhub-cli. 11 | You can run it by 12 | 13 | ```bash 14 | bh form server 15 | ``` 16 | 17 | It should open the BeanHub Forms web page locally at http://localhost:8080 by default. 18 | It reads the `.beanhub/forms.yaml` file from the current directory and will modify beancount files in the directory, so make sure you cd to your beancount directory before running the command. 19 | To learn more about BeanHub Forms, please read our blog post [Automating Beancount data input with custom forms makes your life 10 times easier!](https://beanhub.io/blog/2023/07/31/automating-beancount-data-input-with-beanhub-custom-forms/). 20 | 21 | ### List BeanHub Forms 22 | 23 | To list BeanHub Forms, simply run 24 | 25 | ```bash 26 | bh form list 27 | ``` 28 | ### Validate BeanHub Forms doc 29 | 30 | To validate BeanHub Forms doc, simply run 31 | 32 | ```bash 33 | bh form validate 34 | ``` 35 | -------------------------------------------------------------------------------- /docs/docs/commands/format.md: -------------------------------------------------------------------------------- 1 | # Format beancount files 2 | 3 | You can run [beancount-black](https://github.com/LaunchPlatform/beancount-black) formatter against given files by the following command 4 | 5 | ```bash 6 | bh format main.bean 7 | ``` 8 | 9 | Without the file arguments, the format command will try to format `main.bean` in the current folder, and it will recursively follow all the `include` statements to format all the bean files. 10 | Like this: 11 | 12 | ```bash 13 | bh format 14 | ``` 15 | 16 | ## Rename account and currency (commodity) 17 | 18 | The main purpose of the format command is to format Beancount files. 19 | It reads and parses the Beancount file as a syntax tree, then transforms it and eventually outputs it back as a Beancount file. 20 | This process also provides a great opportunity to perform extra transformation to the tree, such as renaming an account or currency. 21 | Therefore, we implement account and currency renaming in this command. 22 | 23 | To rename an account, you can pass in `--rename-account ` to the format command. You can also use `-ra` for short. 24 | For example, to rename `Liabilities:CreditCard:AmericanExpress` to `Liabilities:CreditCard:Amex`, you can simply run this: 25 | 26 | ```bash 27 | bh format -ra Liabilities:CreditCard:AmericanExpress Liabilities:CreditCard:Amex 28 | ``` 29 | 30 | You can rename multiple accounts at once by passing `-ra` multiple times. 31 | Like this: 32 | 33 | ```bash 34 | bh format \ 35 | -ra Liabilities:CreditCard:AmericanExpress Liabilities:CreditCard:Amex \ 36 | -ra Expenses:Food Expenses:Food:Dining 37 | 38 | ``` 39 | 40 | You can also rename currency by passing `--rename-currency `. 41 | Like the option for renaming an account, you can also pass in `-rc` for short. 42 | Here's an example of renaming currency from `BTC` to `BITCOIN` by running. 43 | 44 | ```bash 45 | bh format -rc BTC BITCOIN 46 | ``` 47 | 48 | You can also combine multiple account and currency renaming options in the same format run. 49 | 50 | ```bash 51 | bh format \ 52 | -ra Liabilities:CreditCard:AmericanExpress Liabilities:CreditCard:Amex \ 53 | -ra Expenses:Food Expenses:Food:Dining \ 54 | -rc BTC BITCOIN 55 | 56 | ``` 57 | -------------------------------------------------------------------------------- /docs/docs/commands/import.md: -------------------------------------------------------------------------------- 1 | # BeanHub Import 2 | 3 | To run BeanHub's import feature locally, you can define your import rules at `.beanhub/imports.yaml` and then run the following command in your Beancount folder: 4 | 5 | ```bash 6 | bh import 7 | ``` 8 | 9 | To learn more about the import document and how the BeanHub import feature works, you can read the document of [beanhub-import](https://beanhub-import-docs.beanhub.io). 10 | -------------------------------------------------------------------------------- /docs/docs/commands/login.md: -------------------------------------------------------------------------------- 1 | # BeanHub Login 2 | 3 | We provide BeanHub-CLI as a standalone tool to work without a [BeanHub](https://beanhub.io) account in most cases. 4 | However, some features are for paid BeanHub members only and require access to your BeanHub account, such as [BeanHub Connect](https://beanhub.io/blog/2024/06/24/introduction-of-beanhub-connect/)'s sync and dump. 5 | For those operations, you need to run the login command first. 6 | 7 | Please note that BeanHub-CLI login command requires some extra optional Python dependencies. 8 | Therefore, when installing BeanHub-CLI Python package, please make sure to include `login` extra dependencies like this: 9 | 10 | ```bash 11 | pip install "beanhub-cli[login]" 12 | ``` 13 | 14 | It's very easy to log in to your BeanHub account with BeanHub-CLI. Simply run: 15 | 16 | ```bash 17 | bh login 18 | ``` 19 | 20 | It will open up an Access Token creation page on BeanHub website in your browser like this: 21 | 22 | ![BeanHub Access Token permission grant Screenshot](/img/auth-session-screenshot.png){: .center } 23 | 24 | It may ask you to log into your BeanHub account on the browser first if you haven't logged in yet. 25 | If your local environment doesn't allow BeanHub-CLI to open the page in the browser automatically, you can copy the shown URL and open the page manually. 26 | Once the page is present, please compare the authentication code shown by the command line tool and the one shown on the website to ensure they are identical before granting access. 27 | You can change the scope of access grant for your login session when creating it or change it later on the [BeanHub Access Token management page](https://app.beanhub.io/access-tokens/). 28 | 29 | After logging in successfully, BeanHub-CLI will create a configuration file at `/.beanhub/config.toml` containing the corresponding access token and default repository it is. 30 | Currently, we keep the access token as plaintext in the configuration file. 31 | We may integrate the keychain service provided by your operation system for better security in the future. 32 | There's no command for logging out right now, but you can delete the access token in the [BeanHub Access Token management page](https://app.beanhub.io/access-tokens/) and then delete the config file manually. 33 | -------------------------------------------------------------------------------- /docs/docs/getting-started.md: -------------------------------------------------------------------------------- 1 | # Install 2 | 3 | To install beanhub-cli, simply run the following command with [pip](https://pypi.org/project/pip/): 4 | 5 | ```bash 6 | pip install beanhub-cli 7 | ``` 8 | 9 | BeanHub CLI is also available as a [nix package](https://nixos.org). 10 | You can also try out BeanHub CLI with nix like this: 11 | 12 | ```bash 13 | nix-shell -p beanhub-cli 14 | ``` 15 | 16 | The command and its sub-commands is available as `bh`. 17 | -------------------------------------------------------------------------------- /docs/docs/img/auth-session-screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LaunchPlatform/beanhub-cli/f9a97e92bcbdb7e3ff7fc51bbcee9657503edf34/docs/docs/img/auth-session-screenshot.png -------------------------------------------------------------------------------- /docs/docs/img/beanhub-connect-list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LaunchPlatform/beanhub-cli/f9a97e92bcbdb7e3ff7fc51bbcee9657503edf34/docs/docs/img/beanhub-connect-list.png -------------------------------------------------------------------------------- /docs/docs/img/beanhub-connect-pop-up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LaunchPlatform/beanhub-cli/f9a97e92bcbdb7e3ff7fc51bbcee9657503edf34/docs/docs/img/beanhub-connect-pop-up.png -------------------------------------------------------------------------------- /docs/docs/img/forms-screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LaunchPlatform/beanhub-cli/f9a97e92bcbdb7e3ff7fc51bbcee9657503edf34/docs/docs/img/forms-screenshot.png -------------------------------------------------------------------------------- /docs/docs/index.md: -------------------------------------------------------------------------------- 1 | # BeanHub CLI 2 | Command line tools for BeanHub and Beancount users. 3 | 4 | ## Features 5 | 6 | - [**Connect**](./commands/connect.md) - [Import bank transactions from 12,000+ financial institutions in 17 countries](https://beanhub.io/blog/2024/06/24/introduction-of-beanhub-connect/) (a BeanHub paid account required) 7 | - [**Import**](./commands/import.md) - Simple yet powerful [beanhub-import](https://github.com/LaunchPlatform/beanhub-import) allows you to define importing rules in YAML to extract transactions from CSV files and generate Beancount transactions automatically 8 | - [**Formatter**](./commands/format.md) - Advanced Beancount file formatter based on top of [beancount-black](https://github.com/LaunchPlatform/beancount-black) 9 | - [**Beancount file manipulations**](./commands/format.md) - Effortless Beancount account name renaming and other basic manipulations 10 | - [**Forms**](./commands/form.md) - You can run a [BeanHub Form](https://beanhub.io/blog/2023/07/31/automating-beancount-data-input-with-beanhub-custom-forms/) web app locally to try out your forms 11 | - **Doesn't require a BeanHub account** - While some features require a BeanHub account to operate, but we make most of them usable even without a BeanHub account 12 | 13 | ## Screenshots 14 | 15 | ![BeanHub Forms Screenshot](/img/forms-screenshot.png){: .center } 16 | 17 | # Sponsor 18 | 19 |

20 | BeanHub logo 21 |

22 | 23 | A modern accounting book service based on the most popular open source version control system [Git](https://git-scm.com/) and text-based double entry accounting book software [Beancount](https://beancount.github.io/docs/index.html). 24 | -------------------------------------------------------------------------------- /docs/mkdocs.yml: -------------------------------------------------------------------------------- 1 | site_name: BeanHub CLI 2 | repo_url: https://github.com/launchplatform/beanhub-cli 3 | theme: 4 | name: material 5 | logo: assets/logo.svg 6 | favicon: assets/favicon.svg 7 | palette: 8 | primary: deep purple 9 | features: 10 | - navigation.instant 11 | - navigation.instant.prefetch 12 | - navigation.prune 13 | - navigation.footer 14 | custom_dir: overrides 15 | icon: 16 | repo: fontawesome/brands/github 17 | markdown_extensions: 18 | - admonition 19 | - attr_list 20 | - md_in_html 21 | - pymdownx.highlight: 22 | anchor_linenums: true 23 | line_spans: __span 24 | pygments_lang_class: true 25 | - pymdownx.inlinehilite 26 | - pymdownx.snippets 27 | - pymdownx.superfences 28 | nav: 29 | - 'BeanHub CLI': 'index.md' 30 | - 'Getting started': 'getting-started.md' 31 | - 'Commands': 32 | - 'Login': 'commands/login.md' 33 | - 'Connect': 'commands/connect.md' 34 | - 'Import': 'commands/import.md' 35 | - 'Forms': 'commands/form.md' 36 | - 'Format': 'commands/format.md' 37 | copyright: Copyright © 2024 Launch Platform LLC 38 | extra: 39 | social: 40 | - icon: fontawesome/brands/github 41 | link: https://github.com/launchplatform 42 | - icon: fontawesome/solid/house 43 | link: https://beanhub.io 44 | generator: false 45 | analytics: 46 | provider: custom 47 | -------------------------------------------------------------------------------- /docs/netlify.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | base = "docs" 3 | command = "mkdocs build" 4 | publish = "site" 5 | -------------------------------------------------------------------------------- /docs/overrides/partials/integrations/analytics/custom.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /docs/requirements.txt: -------------------------------------------------------------------------------- 1 | mkdocs-material==9.5.21 2 | -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- 1 | [project] 2 | name = "beanhub-cli" 3 | version = "3.0.0b2" 4 | description = "Command line tools for BeanHub and Beancount users" 5 | authors = [{ name = "Fang-Pen Lin", email = "fangpen@launchplatform.com" }] 6 | requires-python = "~=3.10" 7 | readme = "README.md" 8 | license = "MIT" 9 | dependencies = [ 10 | "pydantic>=2.4.0,<3", 11 | "starlette-wtf>=0.4.3,<0.5", 12 | "fastapi>= 0.98.0, <1.0.0", 13 | "jinja2>=3.1.2, <4.0.0", 14 | "pyyaml>=6.0.1,<7", 15 | "beancount-black>=1.0.1,<2", 16 | "click>=8.1.7,<9", 17 | "uvicorn>=0.23.2, <1.0.0", 18 | "beanhub-forms>=0.1.3,<0.2", 19 | "pydantic-settings>=2.0.3,<3", 20 | "rich>=13.6.0,<14", 21 | "httpx>=0.20.0,<0.29.0", 22 | "attrs>=22.2.0", 23 | "python-dateutil>=2.8.0,<3", 24 | "tomli>=2.2.1,<3", 25 | "tomli-w>=1.1.0,<2", 26 | "pynacl>=1.5.0,<2", 27 | "cryptography>=44.0.0,<45", 28 | "beanhub-import>= 1.0.0, <2.0.0", 29 | "beanhub-extract>= 0.1.0, <1.0.0", 30 | "beancount-parser>= 1.2.3, <1.3.0", 31 | "beanhub-inbox>=0.2.1, <0.3.0", 32 | ] 33 | 34 | [project.urls] 35 | Documentation = "https://beanhub-cli-docs.beanhub.io" 36 | 37 | [project.scripts] 38 | bh = "beanhub_cli.main:cli" 39 | beanhub-cli = "beanhub_cli.main:cli" 40 | 41 | [dependency-groups] 42 | dev = [ 43 | "pytest>=8.0.0,<9", 44 | "pytest-asyncio>=0.21.1,<0.22", 45 | "pytest-mock>=3.11.1,<4", 46 | "httpx>=0.28.0,<0.29", 47 | "mkdocs-material>=9.5.35,<10", 48 | "openapi-python-client>=0.23.0,<0.24", 49 | "pytest-httpx>=0.35.0,<0.36", 50 | "pytest-factoryboy>=2.7.0", 51 | ] 52 | 53 | [build-system] 54 | requires = ["hatchling"] 55 | build-backend = "hatchling.build" 56 | -------------------------------------------------------------------------------- /pytest.ini: -------------------------------------------------------------------------------- 1 | [pytest] 2 | -------------------------------------------------------------------------------- /scripts/gen-internal-api.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | uv run openapi-python-client generate \ 4 | --path=data/internal-openapi.json \ 5 | --config=data/internal-api-config.yaml \ 6 | --output-path=internal_api_output 7 | 8 | rm -rf beanhub_cli/internal_api 9 | mv internal_api_output/internal_api/ beanhub_cli/ 10 | rm -rf internal_api_output/ 11 | -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LaunchPlatform/beanhub-cli/f9a97e92bcbdb7e3ff7fc51bbcee9657503edf34/tests/__init__.py -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- 1 | import pathlib 2 | import secrets 3 | 4 | import pytest 5 | from click.testing import CliRunner 6 | from pytest_mock import MockFixture 7 | 8 | from beanhub_cli.config import AccessToken 9 | from beanhub_cli.config import Config 10 | from beanhub_cli.config import Repository 11 | from beanhub_cli.config import save_config 12 | 13 | 14 | @pytest.fixture 15 | def cli_runner() -> CliRunner: 16 | return CliRunner() 17 | 18 | 19 | @pytest.fixture 20 | def mock_home(tmp_path: pathlib.Path, mocker: MockFixture) -> pathlib.Path: 21 | home_dir = tmp_path / "home" 22 | home_dir.mkdir() 23 | with mocker.patch("pathlib.Path.home", return_value=home_dir): 24 | yield home_dir 25 | 26 | 27 | @pytest.fixture 28 | def config_username() -> str | None: 29 | return "MOCK_USERNAME" 30 | 31 | 32 | @pytest.fixture 33 | def config_repo_name() -> str | None: 34 | return "MOCK_REPO" 35 | 36 | 37 | @pytest.fixture 38 | def mock_config( 39 | mock_home: pathlib.Path, config_username: str | None, config_repo_name: str | None 40 | ) -> Config: 41 | _ = mock_home 42 | token = secrets.token_urlsafe(8) 43 | config = Config(access_token=AccessToken(token=token)) 44 | if config_username is not None and config_repo_name is not None: 45 | config.repo = Repository(default=f"{config_username}/{config_repo_name}") 46 | save_config(config) 47 | return config 48 | -------------------------------------------------------------------------------- /tests/connect/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LaunchPlatform/beanhub-cli/f9a97e92bcbdb7e3ff7fc51bbcee9657503edf34/tests/connect/__init__.py -------------------------------------------------------------------------------- /tests/connect/test_encryption.py: -------------------------------------------------------------------------------- 1 | import io 2 | import os 3 | import tempfile 4 | import typing 5 | 6 | from cryptography.hazmat.primitives import padding 7 | from cryptography.hazmat.primitives.ciphers import algorithms 8 | from cryptography.hazmat.primitives.ciphers import Cipher 9 | from cryptography.hazmat.primitives.ciphers import modes 10 | 11 | from beanhub_cli.encryption import decrypt_file 12 | 13 | SPOOLED_FILE_MAX_SIZE = 1024 * 1024 * 5 14 | 15 | 16 | def encrypt_file( 17 | input_file: io.BytesIO, output_file: io.BytesIO 18 | ) -> typing.Tuple[bytes, bytes]: 19 | key = os.urandom(32) 20 | iv = os.urandom(16) 21 | cipher = Cipher(algorithms.AES256(key), modes.CBC(iv)) 22 | encryptor = cipher.encryptor() 23 | padder = padding.PKCS7(128).padder() 24 | while True: 25 | chunk = input_file.read(4096) 26 | if not chunk: 27 | break 28 | padded_chunk = padder.update(chunk) 29 | output_file.write(encryptor.update(padded_chunk)) 30 | output_file.write(encryptor.update(padder.finalize())) 31 | output_file.write(encryptor.finalize()) 32 | output_file.flush() 33 | output_file.seek(0) 34 | return (key, iv) 35 | 36 | 37 | def test_decrypt_file(): 38 | data = b"hello there" 39 | with tempfile.SpooledTemporaryFile(SPOOLED_FILE_MAX_SIZE) as encrypted_file: 40 | key, iv = encrypt_file(input_file=io.BytesIO(data), output_file=encrypted_file) 41 | output = io.BytesIO() 42 | decrypt_file(input_file=encrypted_file, output_file=output, key=key, iv=iv) 43 | assert output.getvalue() == data 44 | -------------------------------------------------------------------------------- /tests/factories.py: -------------------------------------------------------------------------------- 1 | from beanhub_inbox.data_types import InboxEmail 2 | from factory import Dict 3 | from factory import Factory 4 | from factory import Faker 5 | from factory import List 6 | 7 | 8 | class InboxEmailFactory(Factory): 9 | id = Faker("uuid4") 10 | message_id = Faker("slug") 11 | headers = Dict( 12 | { 13 | "mock-header": Faker("slug"), 14 | } 15 | ) 16 | subject = Faker("sentence") 17 | from_addresses = List([Faker("email")]) 18 | recipients = List([Faker("email")]) 19 | tags = List([Faker("slug")]) 20 | 21 | class Meta: 22 | model = InboxEmail 23 | -------------------------------------------------------------------------------- /tests/forms/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LaunchPlatform/beanhub-cli/f9a97e92bcbdb7e3ff7fc51bbcee9657503edf34/tests/forms/__init__.py -------------------------------------------------------------------------------- /tests/forms/app/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LaunchPlatform/beanhub-cli/f9a97e92bcbdb7e3ff7fc51bbcee9657503edf34/tests/forms/app/__init__.py -------------------------------------------------------------------------------- /tests/forms/app/conftest.py: -------------------------------------------------------------------------------- 1 | import base64 2 | import hashlib 3 | import json 4 | import os 5 | import typing 6 | 7 | import itsdangerous 8 | import pytest 9 | from fastapi import FastAPI 10 | from itsdangerous.url_safe import URLSafeTimedSerializer 11 | from starlette.testclient import TestClient 12 | 13 | from . import types_def 14 | from beanhub_cli.forms.app import settings as settings_module 15 | from beanhub_cli.forms.app.main import make_app 16 | 17 | 18 | @pytest.fixture 19 | def app() -> FastAPI: 20 | return make_app() 21 | 22 | 23 | @pytest.fixture 24 | def client(app: FastAPI) -> TestClient: 25 | return TestClient(app) 26 | 27 | 28 | @pytest.fixture 29 | def settings() -> settings_module.Settings: 30 | old_settings = settings_module._settings 31 | settings_module._settings = settings_module.Settings() 32 | yield settings_module._settings 33 | settings_module._settings = old_settings 34 | 35 | 36 | @pytest.fixture 37 | def raw_csrf_token() -> str: 38 | return hashlib.sha1(os.urandom(64)).hexdigest() 39 | 40 | 41 | @pytest.fixture 42 | def csrf_token(raw_csrf_token: str, settings: settings_module.Settings) -> str: 43 | s = URLSafeTimedSerializer(settings.SECRET_KEY, salt="wtf-csrf-token") 44 | return s.dumps(raw_csrf_token) 45 | 46 | 47 | @pytest.fixture 48 | def session_signer(settings: settings_module.Settings) -> itsdangerous.TimestampSigner: 49 | return itsdangerous.TimestampSigner(str(settings.SECRET_KEY)) 50 | 51 | 52 | @pytest.fixture 53 | def make_session( 54 | session_signer: itsdangerous.TimestampSigner, 55 | ) -> types_def.MakeSession: 56 | def _make_session(**data: typing.Any) -> str: 57 | json_data: bytes = json.dumps(data).encode("utf8") 58 | signed_data = session_signer.sign(base64.b64encode(json_data)) 59 | return signed_data.decode("utf8") 60 | 61 | return _make_session 62 | 63 | 64 | @pytest.fixture 65 | def make_session_cookies( 66 | make_session: typing.Callable[[typing.Dict[str, typing.Any]], str], 67 | raw_csrf_token: str, 68 | ) -> types_def.MakeSessionCookies: 69 | def _make_session_cookies( 70 | _add_csrf_token: bool = True, **data: str 71 | ) -> typing.Dict[str, typing.Any]: 72 | session_data = data 73 | if _add_csrf_token: 74 | session_data |= dict(csrf_token=raw_csrf_token) 75 | return dict(session=make_session(**data)) 76 | 77 | return _make_session_cookies 78 | -------------------------------------------------------------------------------- /tests/forms/app/types_def.py: -------------------------------------------------------------------------------- 1 | import typing 2 | 3 | 4 | MakeSession = typing.Callable[[], str] 5 | MakeSessionCookies = typing.Callable[[], typing.Dict[str, typing.Any]] 6 | -------------------------------------------------------------------------------- /tests/helper.py: -------------------------------------------------------------------------------- 1 | import contextlib 2 | import os 3 | import pathlib 4 | 5 | 6 | @contextlib.contextmanager 7 | def switch_cwd(cwd: pathlib.Path): 8 | current_cwd = pathlib.Path.cwd() 9 | try: 10 | os.chdir(cwd) 11 | yield 12 | finally: 13 | os.chdir(current_cwd) 14 | -------------------------------------------------------------------------------- /tests/inbox/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LaunchPlatform/beanhub-cli/f9a97e92bcbdb7e3ff7fc51bbcee9657503edf34/tests/inbox/__init__.py -------------------------------------------------------------------------------- /tests/test_format.py: -------------------------------------------------------------------------------- 1 | import pathlib 2 | 3 | from click.testing import CliRunner 4 | 5 | from .helper import switch_cwd 6 | from beanhub_cli.main import cli 7 | 8 | 9 | def test_format_cmd(tmp_path: pathlib.Path, cli_runner: CliRunner): 10 | beanhub_dir = tmp_path / ".beanhub" 11 | beanhub_dir.mkdir() 12 | 13 | bean_file = beanhub_dir / "sample.bean" 14 | bean_file.write_text("2024-06-27 open Assets:Cash") 15 | 16 | cli_runner.mix_stderr = False 17 | with switch_cwd(tmp_path): 18 | result = cli_runner.invoke(cli, ["format", str(bean_file)]) 19 | assert result.exit_code == 0 20 | assert bean_file.read_text() == "2024-06-27 open Assets:Cash\n" 21 | 22 | 23 | def test_format_cmd_without_args(tmp_path: pathlib.Path, cli_runner: CliRunner): 24 | beanhub_dir = tmp_path / ".beanhub" 25 | beanhub_dir.mkdir() 26 | 27 | included_bean = beanhub_dir / "mybook.bean" 28 | included_bean.write_text("2024-06-27 open Assets:Cash") 29 | 30 | main_bean = beanhub_dir / "main.bean" 31 | main_bean.write_text('include "mybook.bean"') 32 | 33 | cli_runner.mix_stderr = False 34 | with switch_cwd(beanhub_dir): 35 | result = cli_runner.invoke(cli, ["format"]) 36 | assert result.exit_code == 0 37 | assert included_bean.read_text() == "2024-06-27 open Assets:Cash\n" 38 | --------------------------------------------------------------------------------