Subject: Re: Location of Megatools INI Config File
From: A. S.
Date: Mon, 8 Jun 2020 23:25:11 +0530
>> So what home directory is on windows depends on bunch of things.
>> Either HOME or USERPROFILE or CSIDL_PROFILE or C:\windows.

Thanks for the info.

>> Sorry, it's not that easy to determine exe file location
>> in a cross-platform way.

I was thinking you could do it this way
<https://stackoverflow.com/a/1528493>, or even add it as a Windows-specific
feature, but if it's not at all possible then I suppose --config or the
HOME envar are the only viable alternatives.

Regards,

Andrew

On Mon, 8 Jun 2020 at 06:39, Ondřej Jirman <megatools@megous.com> wrote:

> Hi,
>
> On Mon, Jun 08, 2020 at 01:51:38AM +0530, A. S. wrote:
> > Hello Ondrej,
> >
> > Currently as per the docs the mega.ini config file is read either from
> the
> > current directory or the user's home directory (except when
> > --ignore-config-file is specified, or when an explicit path to the config
> > file is given via --config <path>).
> >
> > First, what is considered the "home directory" under Windows?
>
> https://megous.com/dl/tmp/98780c86f4b78b77.png
>
> So what home directory is on windows depends on bunch of things. Either
> HOME or USERPROFILE or CSIDL_PROFILE or C:\windows.
>
> > Second, I am calling megatools from multiple batch files. The EXE itself
> as
> > well as the mega.ini file is stored in a fixed dir (D:\Megatools), and I
> > create batch files in different locations to download different types of
> > files. Typically my batch files look like this:
> >
> > @set path=%path%;D:\Megatools
> > megatools dl https://mega.nz/file/...
> > megatools dl https://mega.nz/file/...
> >
> > Now suppose for example that a batch file like this is stored in and
> > executed from E:\Downloads\Videos, unfortunately megatools doesn't read
> the
> > mega.ini config file since neither does it exist in the current
> directory,
> > nor in the "home directory" (whatever that is), nor has --config <path>
> > been specified.
> >
> > I would like to have the config file read without making every megatools
> > call in the batch file look like the following:
> >
> > megatools dl --config "D:\Megatools" https://mega.nz/file/...
> >
> > So my request is, would it be possible to make megatools by default also
> > look for its config file in the dir where its EXE is stored?
> >
> > Last but not least, since different mega.ini files may be stored in the
> > current dir and home dir (and if you fulfil my request, the EXE's dir
> > also), it would be nice if the tool initially printed out something like
> > "Loaded config file <full path to mega.ini>" so that there's no confusion
> > about which config file has been read.
>
> Sorry, it's not that easy to determine exe file location in a
> cross-platform
> way. Your best bet is to use --config=path to make sure the exact config
> file
> is used no matter what.
>
> Or set the HOME envvar prior to invoking megatools, but you have to make
> sure
> there's not mega.ini in the current dir, and that there is one in the HOME/
> dir.
>
> regards,
>         o.
>
> > Thanks and Regards,
> >
> > Andrew
>