Alpinewerk Digital e.U. Owner: Alexander Semerad
registered sole proprietorship
Steckhovengasse 18, 1130 Wien - AT
Tel: +43 (0) 681 20289940
E-Mail: [email protected]
VAT-Nr: ATU75303217
FN: 544875m
Commercial Court Vienna
Maya expects a certain folder structure such as the module being placed inside a
folder named scripts
. The following is a simple example:
.
├── installer.py # <-- This file will be dropped into Maya's viewport.
└── scripts # <-- Expected folder by Maya.
├── foo # <-- Our module.
│ ├── main.py
│ └── __init__.py
└ userSetup.py # <-- Optional file to be loaded on Maya startup.
Our installer.py
can be simple drag-&-dropped into Maya's viewport to run the
installation process of creating a .mod
file in the Maya's modules directory with
the correct path to our module.
The installer.py
expected to be live next to the scripts
folder since it uses
the parents' directory for the contents of the .mod file. Please replace the
MODULE_NAME
variable with the name of your module.
from pathlib import Path
import importlib, sys, os
MODULE_NAME = "foo" # <-- The name of the module.
MOD_TEMPLATE = "{name} 1.0.1 {path}"
REPOSITORY_DIR = Path(__file__).parent
MAYA_APP_DIR = os.getenv("MAYA_APP_DIR")
def install_mod():
"""Installs the module by creating a .mod file in the Maya modules directory
with the parent's directory as the path."""
target_mod_filepath = Path(MAYA_APP_DIR, "modules", f"{MODULE_NAME}.mod")
target_mod_filepath.parent.mkdir(parents=True, exist_ok=True)
mod_contents = MOD_TEMPLATE.format(name=MODULE_NAME, path=REPOSITORY_DIR.as_posix())
target_mod_filepath.write_text(mod_contents)
def load_user_setup():
"""Adds the module to the sys.path and imports the userSetup.py file (if it
exists) manually for the current session. On the next startup, these will be
loaded automatically."""
scripts_dir = REPOSITORY_DIR.joinpath("scripts")
user_setup = scripts_dir.joinpath("userSetup.py")
if scripts_dir.exists():
if scripts_dir not in sys.path:
sys.path.append(scripts_dir.as_posix())
if user_setup.exists():
spec = importlib.util.spec_from_file_location(user_setup.stem, user_setup.as_posix())
module = importlib.util.module_from_spec(spec)
spec.loader.exec_module(module)
def onMayaDroppedPythonFile(*args, **kwargs):
"""Callback function to be executed when a Python file is dropped into the Maya
viewport. It reloads the current module, installs the module, and loads the
userSetup.py file."""
self_import = importlib.import_module(__name__)
importlib.reload(self_import)
self_import.install_mod()
self_import.load_user_setup()
The userSetup.py
file is optional and can be used to load any custom setup code
when Maya starts up. It is placed in the scripts
directory for Maya to be able
to find it.
from maya import utils
def initialize():
...
utils.executeDeferred(initialize)
Alpinewerk Digital e.U. Owner: Alexander Semerad
registered sole proprietorship
Steckhovengasse 18, 1130 Wien - AT
Tel: +43 (0) 681 20289940
E-Mail: [email protected]
VAT-Nr: ATU75303217
FN: 544875m
Commercial Court Vienna
Welcome to the website www.alpinewerk.com! Please get a picture of how we process your personal data when you visit our website or you are otherwise in a business relationship with us (Art 13, Art 14 GDPR; § 96 Abs 3 TKG – the Austrian Telecommunication Act).
The following data may be processed when you visit our website:
The processing of this data is necessary to manage the security of the operation of the website and to ensure the functionality of the website from a technical point of view. The processing of this data is justified by our legitimate interest in the operation of our website (Art 6 para 1 lit f DSGVO).
For the operation of our website, it may be necessary for us to disclose your data to the following recipients:
Recipients of data | Purpose of data processing | Reasoning for data processing | Location | Third party transfer |
---|---|---|---|---|
Alphabet Inc (Google Analytics) | Statistical evaluations and marketing purposes | Consent (Art 6 Abs 1 lit a GDPR) | USA | Standard contractual clauses (Art 46 Abs 2 lit c DSGVO) |
The above-mentioned data is stored via so-called "cookies". These technical cookies are only used to the extent necessary (§ 96 para 3 TKG). Cookies are text files that are stored on your computer and enable an analysis of the use of the website. They are used to recognise and store temporary data of the homepage visitor. We only use cookies to the extent necessary to communicate with you via the homepage.
These technical cookies are activated as soon as you visit our homepage.
The following cookies are used on our homepage on the basis of our legitimate interest (Art 6 para 1 lit f GDPR):
Name of the cookie | Purpose of the Cookies | Storage duration | Location of recipient |
---|---|---|---|
SESS# | Retains the user's states for all page | Session | USA |
In addition to the "technical cookies" described above, we also use so-called advertising cookies (including "statistical cookies"). These advertising cookies enable us to better understand and evaluate your interests. With the help of the advertising cookies, we can merge your "surfing behaviour" across the boundaries of our website with data from other websites. This is to enable us to better understand the interests of our homepage visitors and to target them more effectively.
We respect that not every visitor to the website wants this. Therefore, we only process your data in the course of advertising cookies if you consent to this (Art 6 para 1 lit a GDPR). You can revoke this consent at any time, whereby the data processing carried out up to the time of revocation remains justified.
These advertising cookies will only be activated once you have consented to them.
Name of the cookie | Purpose of the Cookies | Storage duration | Location of recipient | Purpose of data transfer |
---|---|---|---|---|
_ga (Google Analytics) | Statistical purposes | 2 years | USA | Registers a unique ID that is used to generate statistical data on how the visitor uses the website. |
ga# | Statistical purposes | 2 years | USA | Collects data on how often a user visits a website, as well as data for the first and last visit. |
In the course of our business relationship with customers or suppliers, we process your data on the basis of contractual (processing of the contractual relationship with you, pre-contractual obli-gations, invoicing of services, dispatch of documents, communication for the processing of the contract) and legal obligations (legally required storage within the meaning of § 132 BAO) (Art 6 para 1 lit b and c GDPR) as well as on the basis of our legitimate interests or on the basis of the legitimate interests of third parties (Art 6 para 1 lit f GDPR), namely:
for the purpose of internal administration and management of your business case to the extent necessary (e.g.: Processing your business case, forwarding your business case to various de-partments, filing, archiving purposes, correspondence with you);
for the purpose of direct advertising (e.g.: Mailing, e-mailing, satisfaction surveys, congratulatory letters, statistical evaluations);
We would like to expressly inform you that you can object to the processing of your data for the purpose of direct advertising.
in each case to the extent necessary. The processing of your data serves the purpose of initiating, maintaining and handling our business relations. If you do not provide us with this data, we will not be able to process your business case.
If particularly sensitive data is processed in the course of specific legal disputes, this is done for the purpose of asserting legal claims (Art 9 (2) (f) in conjunction with Art 6 (1) (b) GDPR).
We will only store your data for as long as is necessary for the purposes for which we collected your data. In this context, statutory retention obligations must be taken into account (for example, for reasons of tax law, contracts and other documents from our contractual relationship must generally be retained for a period of seven years (§ 132 BAO)). In justified individual cases, such as for the assertion and defence of legal claims, we may also store your data for up to 30 years after termination of the business relationship.
We store data of interested parties for up to three years from the time of the last contact by the respective person.
In the course of our business relationship, it may be necessary for us to transmit your data to the following recipients:
Recipient | Purposes | Legal justification | Location (country) | Purpose of data transfer |
---|---|---|---|---|
Bank (credit institution) | Payment-services | Contractual obligation (Art 6 Abs 1 lit b | ||
GDPR) | Austria | Within the EAA | ||
Business and tax advisors | Tax advisory | Contractual obligation (Art 6 Abs 1 lit b | ||
GDPR) | Austria | Within the EAA | ||
Attorney at law | Enforcement of claim | Contractual obligation (Art 6 Abs 1 lit b | ||
GDPR) | Austria | Within the EAA |
In the course of a business relationship or the initiation thereof, it is naturally necessary to conduct research on the business partner. This is done exclusively to the extent necessary for this purpose. In this context, data may be retrieved and processed from the following sources:
Source | Publicly available | Data subjects | Purpose/Reasoning |
---|---|---|---|
Internet-Research | Ja | Contact details | Contact for business purposes |
No automated decision-making or profiling takes place in our company.
We would like to inform you that, provided the legal requirements are met, you have the right to request information about your personal data:
If we process your data on the basis of your consent, you have the right to revoke this consent at any time by email. This does not affect the lawfulness of the data processing carried out up to this point (Art 7 (3) DSGVO).
If, contrary to expectations, there is a breach of your right to lawful processing of your data, please contact us by post or e-mail. We will endeavour to deal with your concern promptly. However, you also have the right to lodge a complaint with the supervisory authority for data protection matters responsible for you.
The address of the Austrian data protection authority is:
Austrian Data Protection Authority Barichgasse 40-42, 1030 Vienna
If you have any further questions about the processing of your data, please do not hesitate to contact our data protection coordinator using the contact details below.
Controller pursuant to Art 4 Z 7 GDPR:
Alpinewerk Digital e.U. Alexander Semerad
Steckhovengasse 18, 1130 Wien - AT
[email protected] +4368120289940
FN 544875m
Author: Attorney Dr. Tobias Tretzmüller, LL.M (IT-LAW); https://www.digital-recht.at/