If you have an object created as type MostDerived: The most-derived object of d_obj is an object of type Derived. Again, complete is not synonymous with most-derived.Īlso if I have created an object of Derived like this: Derived d_obj = Derived(), Is the object d_obj is also a "most-derived" object? This is not necessarily a complete object, however, since this could be a class member definition. The most-derived object of b_obj is an object of type Base. So if I have created an object of Base like this: Base b_obj = Base(), Is the object b_obj is "most-derived" object?
If I have created an object of Base like this: Base b_obj = Base(), is the object b_obj a "most-derived" object? Per the question "What does the "most derived object" mean?" I think that (correct me if I am wrong), objects of type "most-derived" class only, like MostDerived, are called "most-derived" objects. I stopped here, I really do not understand the rest of the wording. If a complete object, a member subobject, or an array element is of class type, its type is considered the most derived class An object of a most derived class type or of a non-class type is called a most derived object.įrom the quote what I understand is that a type of a complete object is of "most-derived" class type. I can't understand the wording in this quote from the standard: If you have any more ideas what this tool should be able to do, please drop me an issue or a note. * output folder configuration: folder level generation * I will implement some additional config params in the future: * I have not tested it over a longer period of time (e.g. * This tool is in an early experimental stage.
If all goes well, the tool begins to transfer your photos. This file contains the storedĪccess tokens and **must not be shared**. Get stored in a file (at the moment in the `credentials-store` file in the actual directory) and must be secret, too. If you start the tool for the first time, it opens a Web server and asks for permission for the Google Photos library. The `client-id.json` file in the above's example is the path to the file you downloaded from the Developer Console in the Setup step. (env) $ python google-photo-backup.py -c /path/to/your/secret/client-id.json /path/to/photo/backup/folder Once the setup is complete, you start the tool with the following command: $ python3 -m venv env & source env/bin/activate # Optional, but recommended: create a virtual env:
!(./doc/img/google-cloud-api-download-client_creds.png)Īfter downloading / cloning this repo, make sure to install the needed requirements:
KEEP IT IN A SAFE PLACE, it contains the keys that allow access the Google Photos library!Back in the Dashboard's "Credentials" menu, click the download button on the newly created client it.
!(./doc/img/google-cloud-api-create-oauth-client-id.png)Ĥ. This name is not important for the application, just for you to Select "Other" in the Create OAuth client ID menu, and provide a name. !(./doc/img/google-cloud-api-create_login_menu.png)Ģ.
In the Developer Console, click "Credentials" in the left menu, then select "Create Credentials" > "OAuth Client ID":In order to use them with the pyhton tool.ġ. You need to create an OAuth 2.0 Client ID and download your secret credentials The Google Photos API only works with OAuth 2.0. # Step 2: Create a Google OAuth 2.0 Client ID Return to the Developer Console Dashboard.
Search for "Photos", and select the Photos entry:You need to enable the Photos API in order to use it.Ģ. * A Google Photos account and access to the Google Developer Console ()