Ok. In this case (if there are potentially multiple source repo's for one given module) could a list be returned?
This is quite common for 1:n relationships in databases as well ...

Best regards,
Tobias

Quoting Greg Hellings <greg.helli...@gmail.com>:

Currently the engine does not intentionally preserve any information about
where a module comes from. This is why, for a single installer, it cannot
handle having parallel installs of the same module from different sources
(e.g. you can't have both CrossWire KJV and your own homegrown KJV in
parallel without giving your own a different module name).

There's nothing stopping an application from creating different local
repos, one for each upstream, and then combining the two using its own
logic. However, this isn't something the library currently supports. The
fact that you can reverse engineer its source, at present, is only because
none of the main repositories duplicates module identifiers from any other
repositories. However there is nothing, technically speaking, that prevents
this. Thus, module pedigree is not, necessarily, a deterministic thing.

--Greg

On Fri, Sep 27, 2019 at 2:28 PM <cont...@tklein.info> wrote:

Hi,

Using the SWORD API, is there an easy way to determine the
remote/source repository a module is coming from?

I haven't found anything in the SWModule class or anywhere else.

This would be my approach without any API method:
1) Get the config entry "PrefixPath" using
SWModule::getConfigEntry("PrefixPath"). This returns something like
this:
/home/tobi/.sword/installMgr/20151110161300/
2) The last part of the path above is the "id" of the source repository
3) Looking up ~/.sword/installMgr/masterRepoList.conf I can find the
mapping between the repo id and the actual repository name from a line
like this one: 20151110161300=FTPSource=eBible.org|ftp.ebible.org|/sword

Would it make sense to provide a method in the SWModule or InstallMgr
class to easily get this information?
This would be useful meta information when showing an about dialog for
a module and I also see other use cases.

Best regards,
Tobias


_______________________________________________
sword-devel mailing list: sword-devel@crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page





_______________________________________________
sword-devel mailing list: sword-devel@crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page

Reply via email to