Changeset 26435


Ignore:
Timestamp:
06/22/10 13:38:42 (7 years ago)
Author:
xfade
Message:

Performance improvement for api, fix for empty packages.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ragnaroek/midcom/org.maemo.packages/handler/packageinstance/apt.php

    r26413 r26435  
    7979            if (!$package_instance)
    8080            {
    81                 $_MIDCOM->generate_error(MIDCOM_ERRCRIT, 'Package instance not found!');
     81                //$_MIDCOM->generate_error(MIDCOM_ERRCRIT, 'Package instance not found!');
     82                continue;
    8283            }
    8384
     
    8788        $count = 0;
    8889        //Get dependency tree 5 levels deep.
     90        $processed = array();
    8991        for ($i = 0; $i < 5; $i++)
    9092        {
    9193            foreach($return_package_instances as $pi)
    9294            {
    93                 $this->get_dependency_tree($pi->guid, $return_package_instances);
     95                if (!isset($processed[$pi->guid]))
     96                {
     97                    $this->get_dependency_tree($pi->guid, $return_package_instances);
     98                    $processed[$pi->guid] = true;
     99                }
     100                else
     101                {
     102                    var_dump('skipped');
     103                }
    94104            }
    95105            $guids = array();
     
    124134    private function get_dependency_tree($guid, &$return_package_instances)
    125135    {
    126         $instance = new org_maemo_packages_packageinstance_dba($guid);
     136        $instance = org_maemo_packages_packageinstance_dba::get_cached($guid);
    127137        if (!empty($instance->depends))
    128138        {
    129             $repository = new org_maemo_packages_repository_dba($instance->repository);
     139            $repository = org_maemo_packages_repository_dba::get_cached($instance->repository);
    130140
    131141            $deplist = $instance->depends;
     
    223233                        if ($package_instance)
    224234                        {
    225                             $return_package_instances[] = $package_instance[0];
     235                            if ($package_instance[0]->md5sum != '')
     236                            {
     237                                $return_package_instances[] = $package_instance[0];
     238                            }
    226239                        }
    227240
Note: See TracChangeset for help on using the changeset viewer.