return pakfire_repo_retrieve(repo, title, database_url, cache_path, 0);
}
-static int pakfire_repo_read_metadata(PakfireRepo repo, const char* path, int refresh) {
+static int pakfire_repo_read_metadata(PakfireRepo repo, const char* path) {
int r;
+ // Do not refresh when offline
+ const int refresh = !pakfire_has_flag(repo->pakfire, PAKFIRE_FLAGS_OFFLINE);
+
struct json_object* json = pakfire_json_parse_from_file(repo->pakfire, path);
if (!json) {
// Ignore metadata not existing when not on refresh mode
return r;
// Parse metadata
- r = pakfire_repo_read_metadata(repo, repo->appdata->metadata, 1);
+ r = pakfire_repo_read_metadata(repo, repo->appdata->metadata);
if (r) {
unlink(repo->appdata->metadata);
return r;
goto ERROR;
// Try loading metadata
- r = pakfire_repo_read_metadata(repo, repo->appdata->metadata, 0);
+ r = pakfire_repo_read_metadata(repo, repo->appdata->metadata);
if (r) {
ERROR(repo->pakfire, "Could not initialize repository metadata: %s\n",
strerror(errno));
Called to initialize this Pakfire instance when
the context is entered.
"""
- # Refresh repositories
- self.refresh_repositories()
-
return PakfireContext(self)
def __exit__(self, type, value, traceback):
pass
- def refresh_repositories(self, force=False):
- for repo in self.repos:
- repo.refresh(force=force)
-
def clean(self):
# Clean up repository caches
for repo in self.repos: