385
457
static PyMethodDef methods[] =
460
{"init",Init,METH_VARARGS,doc_Init},
461
{"init_config",InitConfig,METH_VARARGS,doc_InitConfig},
462
{"init_system",InitSystem,METH_VARARGS,doc_InitSystem},
464
// Internationalization.
465
{"gettext",py_gettext,METH_VARARGS,
466
"gettext(msg: str[, domain: str = 'python-apt']) -> str\n\n"
467
"Translate the given string. Much Faster than Python's version and only\n"
468
"does translations after setlocale() has been called."},
471
{"rewrite_section",RewriteSection,METH_VARARGS,doc_RewriteSection},
474
{"get_lock",GetLock,METH_VARARGS,doc_GetLock},
475
{"pkgsystem_lock",PkgSystemLock,METH_VARARGS,doc_PkgSystemLock},
476
{"pkgsystem_unlock",PkgSystemUnLock,METH_VARARGS,doc_PkgSystemUnLock},
479
{"read_config_file",LoadConfig,METH_VARARGS,doc_LoadConfig},
480
{"read_config_dir",LoadConfigDir,METH_VARARGS,doc_LoadConfigDir},
481
{"read_config_file_isc",LoadConfigISC,METH_VARARGS,doc_LoadConfig},
482
{"parse_commandline",ParseCommandLine,METH_VARARGS,doc_ParseCommandLine},
485
{"version_compare",VersionCompare,METH_VARARGS,doc_VersionCompare},
486
{"check_dep",CheckDep,METH_VARARGS,doc_CheckDep},
487
{"upstream_version",UpstreamVersion,METH_VARARGS,doc_UpstreamVersion},
490
{"parse_depends",ParseDepends,METH_VARARGS,doc_ParseDepends},
491
{"parse_src_depends",ParseSrcDepends,METH_VARARGS,doc_ParseDepends},
494
{"md5sum",md5sum,METH_VARARGS,doc_md5sum},
495
{"sha1sum",sha1sum,METH_VARARGS,doc_sha1sum},
496
{"sha256sum",sha256sum,METH_VARARGS,doc_sha256sum},
499
{"check_domain_list",StrCheckDomainList,METH_VARARGS,"CheckDomainList(String,String) -> Bool"},
500
{"quote_string",StrQuoteString,METH_VARARGS,"QuoteString(String,String) -> String"},
501
{"dequote_string",StrDeQuote,METH_VARARGS,"DeQuoteString(String) -> String"},
502
{"size_to_str",StrSizeToStr,METH_VARARGS,"SizeToStr(int) -> String"},
503
{"time_to_str",StrTimeToStr,METH_VARARGS,"TimeToStr(int) -> String"},
504
{"uri_to_filename",StrURItoFileName,METH_VARARGS,"URItoFileName(String) -> String"},
505
{"base64_encode",StrBase64Encode,METH_VARARGS,"Base64Encode(String) -> String"},
506
{"string_to_bool",StrStringToBool,METH_VARARGS,"StringToBool(String) -> int"},
507
{"time_rfc1123",StrTimeRFC1123,METH_VARARGS,"TimeRFC1123(int) -> String"},
508
{"str_to_time",StrStrToTime,METH_VARARGS,"StrToTime(String) -> Int"},
512
{"CheckDep",CheckDepOld,METH_VARARGS,doc_CheckDepOld},
388
513
{"newConfiguration",newConfiguration,METH_VARARGS,doc_newConfiguration},
389
{"init",Init,METH_VARARGS,doc_Init},
390
514
{"InitConfig",InitConfig,METH_VARARGS,doc_InitConfig},
391
515
{"InitSystem",InitSystem,METH_VARARGS,doc_InitSystem},
394
517
{"ParseSection",ParseSection,METH_VARARGS,doc_ParseSection},
395
518
{"ParseTagFile",ParseTagFile,METH_VARARGS,doc_ParseTagFile},
396
519
{"RewriteSection",RewriteSection,METH_VARARGS,doc_RewriteSection},
399
521
{"GetLock",GetLock,METH_VARARGS,doc_GetLock},
400
522
{"PkgSystemLock",PkgSystemLock,METH_VARARGS,doc_PkgSystemLock},
401
523
{"PkgSystemUnLock",PkgSystemUnLock,METH_VARARGS,doc_PkgSystemUnLock},
404
525
{"ReadConfigFile",LoadConfig,METH_VARARGS,doc_LoadConfig},
405
526
{"ReadConfigDir",LoadConfigDir,METH_VARARGS,doc_LoadConfigDir},
406
527
{"ReadConfigFileISC",LoadConfigISC,METH_VARARGS,doc_LoadConfig},
407
528
{"ParseCommandLine",ParseCommandLine,METH_VARARGS,doc_ParseCommandLine},
410
530
{"VersionCompare",VersionCompare,METH_VARARGS,doc_VersionCompare},
411
{"CheckDep",CheckDep,METH_VARARGS,doc_CheckDep},
412
531
{"UpstreamVersion",UpstreamVersion,METH_VARARGS,doc_UpstreamVersion},
415
{"ParseDepends",ParseDepends,METH_VARARGS,doc_ParseDepends},
416
{"ParseSrcDepends",ParseSrcDepends,METH_VARARGS,doc_ParseDepends},
419
{"md5sum",md5sum,METH_VARARGS,doc_md5sum},
420
{"sha1sum",sha1sum,METH_VARARGS,doc_sha1sum},
421
{"sha256sum",sha256sum,METH_VARARGS,doc_sha256sum},
533
{"ParseDepends",ParseDepends_old,METH_VARARGS,doc_ParseDepends},
534
{"ParseSrcDepends",ParseSrcDepends_old,METH_VARARGS,doc_ParseDepends},
424
536
{"CheckDomainList",StrCheckDomainList,METH_VARARGS,"CheckDomainList(String,String) -> Bool"},
425
537
{"QuoteString",StrQuoteString,METH_VARARGS,"QuoteString(String,String) -> String"},
426
538
{"DeQuoteString",StrDeQuote,METH_VARARGS,"DeQuoteString(String) -> String"},
432
544
{"TimeRFC1123",StrTimeRFC1123,METH_VARARGS,"TimeRFC1123(int) -> String"},
433
545
{"StrToTime",StrStrToTime,METH_VARARGS,"StrToTime(String) -> Int"},
436
547
{"GetCache",TmpGetCache,METH_VARARGS,"GetCache() -> PkgCache"},
437
548
{"GetDepCache",GetDepCache,METH_VARARGS,"GetDepCache(Cache) -> DepCache"},
438
549
{"GetPkgRecords",GetPkgRecords,METH_VARARGS,"GetPkgRecords(Cache) -> PkgRecords"},
439
550
{"GetPkgSrcRecords",GetPkgSrcRecords,METH_VARARGS,"GetPkgSrcRecords() -> PkgSrcRecords"},
440
551
{"GetPkgSourceList",GetPkgSourceList,METH_VARARGS,"GetPkgSourceList() -> PkgSourceList"},
443
552
{"GetPkgProblemResolver",GetPkgProblemResolver,METH_VARARGS,"GetDepProblemResolver(DepCache) -> PkgProblemResolver"},
444
553
{"GetPkgActionGroup",GetPkgActionGroup,METH_VARARGS,"GetPkgActionGroup(DepCache) -> PkgActionGroup"},
447
554
{"GetCdrom",GetCdrom,METH_VARARGS,"GetCdrom() -> Cdrom"},
450
555
{"GetAcquire",GetAcquire,METH_VARARGS,"GetAcquire() -> Acquire"},
451
556
{"GetPkgAcqFile",(PyCFunction)GetPkgAcqFile,METH_KEYWORDS|METH_VARARGS, doc_GetPkgAcqFile},
454
557
{"GetPackageManager",GetPkgManager,METH_VARARGS,"GetPackageManager(DepCache) -> PackageManager"},
459
static void AddStr(PyObject *Dict,const char *Itm,const char *Str)
461
PyObject *Obj = PyString_FromString(Str);
462
PyDict_SetItemString(Dict,(char *)Itm,Obj);
466
static void AddInt(PyObject *Dict,const char *Itm,unsigned long I)
468
PyObject *Obj = Py_BuildValue("i",I);
469
PyDict_SetItemString(Dict,(char *)Itm,Obj);
563
static struct _PyAptPkgAPIStruct API = {
564
&PyAcquire_Type, // acquire_type
565
&PyAcquire_FromCpp, // acquire_fromcpp
566
&PyAcquire_ToCpp, // acquire_tocpp
567
&PyAcquireFile_Type, // acquirefile_type
568
&PyAcquireFile_FromCpp, // acquirefile_fromcpp
569
&PyAcquireFile_ToCpp, // acquirefile_tocpp
570
&PyAcquireItem_Type, // acquireitem_type
571
&PyAcquireItem_FromCpp, // acquireitem_fromcpp
572
&PyAcquireItem_ToCpp, // acquireitem_type
573
&PyAcquireItemDesc_Type, // acquireitemdesc_type
574
&PyAcquireItemDesc_FromCpp,// acquireitemdesc_fromcpp
575
&PyAcquireItemDesc_ToCpp, // acquireitemdesc_tocpp
576
&PyAcquireWorker_Type, // acquireworker_type
577
&PyAcquireWorker_FromCpp, // acquireworker_fromcpp
578
&PyAcquireWorker_ToCpp, // acquireworker_tocpp
579
&PyActionGroup_Type, // actiongroup_type
580
&PyActionGroup_FromCpp, // actiongroup_fromcpp
581
&PyActionGroup_ToCpp, // actiongroup_tocpp
582
&PyCache_Type, // cache_type
583
&PyCache_FromCpp, // cache_fromcpp
584
&PyCache_ToCpp, // cache_tocpp
585
&PyCacheFile_Type, // cachefile_type
586
&PyCacheFile_FromCpp, // cachefile_fromcpp
587
&PyCacheFile_ToCpp, // cachefile_tocpp
588
&PyCdrom_Type, // cdrom_type
589
&PyCdrom_FromCpp, // cdrom_fromcpp
590
&PyCdrom_ToCpp, // cdrom_tocpp
591
&PyConfiguration_Type, // configuration_type
592
&PyConfiguration_FromCpp, // configuration_fromcpp
593
&PyConfiguration_ToCpp, // configuration_tocpp
594
&PyDepCache_Type, // depcache_type
595
&PyDepCache_FromCpp, // depcache_fromcpp
596
&PyDepCache_ToCpp, // depcache_tocpp
597
&PyDependency_Type, // dependency_type
598
&PyDependency_FromCpp, // dependency_fromcpp
599
&PyDependency_ToCpp, // dependency_tocpp
600
&PyDependencyList_Type, // dependencylist_type
601
0, // FIXME: dependencylist_fromcpp
602
0, // FIXME: dependencylist_tocpp
603
&PyDescription_Type, // description_type
604
&PyDescription_FromCpp, // description_fromcpp
605
&PyDescription_ToCpp, // description_tocpp
606
&PyHashes_Type, // hashes_type
607
&PyHashes_FromCpp, // hashes_fromcpp
608
&PyHashes_ToCpp, // hashes_tocpp
609
&PyHashString_Type, // hashstring_type
610
&PyHashString_FromCpp, // hashstring_fromcpp
611
&PyHashString_ToCpp, // hashstring_tocpp
612
&PyIndexRecords_Type, // indexrecords_type
613
&PyIndexRecords_FromCpp, // indexrecords_tocpp
614
&PyIndexRecords_ToCpp, // indexrecords_tocpp
615
&PyMetaIndex_Type, // metaindex_type
616
&PyMetaIndex_FromCpp, // metaindex_tocpp
617
&PyMetaIndex_ToCpp, // metaindex_tocpp
618
&PyPackage_Type, // package_type
619
&PyPackage_FromCpp, // package_tocpp
620
&PyPackage_ToCpp, // package_tocpp
621
&PyPackageFile_Type, // packagefile_type
622
&PyPackageFile_FromCpp, // packagefile_tocpp
623
&PyPackageFile_ToCpp, // packagefile_tocpp
624
&PyIndexFile_Type, // packageindexfile_type
625
&PyIndexFile_FromCpp, // packageindexfile_tocpp
626
&PyIndexFile_ToCpp, // packageindexfile_tocpp
627
&PyPackageList_Type, // packagelist_type
628
0, // FIXME: packagelist_fromcpp
629
0, // FIXME: packagelist_tocpp
630
&PyPackageManager_Type, // packagemanager_type
631
&PyPackageManager_FromCpp, // packagemanager_type
632
&PyPackageManager_ToCpp, // packagemanager_type
633
&PyPackageRecords_Type, // packagerecords_type
634
0, // FIXME: packagerecords_fromcpp
635
0, // FIXME: packagerecords_tocpp
636
&PyPolicy_Type, // policy_type
637
&PyPolicy_FromCpp, // policy_tocpp
638
&PyPolicy_ToCpp, // policy_tocpp
639
&PyProblemResolver_Type, // problemresolver_type
640
&PyProblemResolver_FromCpp, // problemresolver_tocpp
641
&PyProblemResolver_ToCpp, // problemresolver_tocpp
642
&PySourceList_Type, // sourcelist_type
643
&PySourceList_FromCpp, // sourcelist_tocpp
644
&PySourceList_ToCpp, // sourcelist_tocpp
645
&PySourceRecords_Type, // sourcerecords_type
646
0, // FIXME: sourcerecords_fromcpp
647
0, // FIXME: sourcerecords_tocpp
648
&PyTagFile_Type, // tagfile_type
649
&PyTagFile_FromCpp, // tagfile_tocpp
650
&PyTagFile_ToCpp, // tagfile_tocpp
651
&PyTagSection_Type, // tagsection_type
652
&PyTagSection_FromCpp, // tagsection_tocpp
653
&PyTagSection_ToCpp, // tagsection_tocpp
654
&PyVersion_Type, // version_type
655
&PyVersion_FromCpp, // version_tocpp
656
&PyVersion_ToCpp, // version_tocpp
660
#define ADDTYPE(mod,name,type) { \
661
if (PyType_Ready(type) == -1) INIT_ERROR; \
663
PyModule_AddObject(mod,name,(PyObject *)type); }
666
#if PY_MAJOR_VERSION >= 3
667
static struct PyModuleDef moduledef = {
668
PyModuleDef_HEAD_INIT,
670
"Classes and functions wrapping the apt-pkg library.\n\n"
671
"The apt_pkg module provides...",
680
#define INIT_ERROR return 0
681
extern "C" PyObject * PyInit_apt_pkg()
683
#define INIT_ERROR return
473
684
extern "C" void initapt_pkg()
687
// Finalize our types to add slots, etc.
688
if (PyType_Ready(&PyConfiguration_Type) == -1) INIT_ERROR;
689
if (PyType_Ready(&PyCacheFile_Type) == -1) INIT_ERROR;
691
// Initialize the module
692
#if PY_MAJOR_VERSION >= 3
693
PyObject *Module = PyModule_Create(&moduledef);
475
695
PyObject *Module = Py_InitModule("apt_pkg",methods);
476
PyObject *Dict = PyModule_GetDict(Module);
478
698
// Global variable linked to the global configuration class
479
CppPyObject<Configuration *> *Config = CppPyObject_NEW<Configuration *>(&ConfigurationPtrType);
699
CppPyObject<Configuration*> *Config = CppPyObject_NEW<Configuration*>(NULL, &PyConfiguration_Type);
480
700
Config->Object = _config;
481
PyDict_SetItemString(Dict,"Config",Config);
701
// Global configuration, should never be deleted.
702
Config->NoDelete = true;
703
PyModule_AddObject(Module,"config",Config);
706
PyModule_AddObject(Module,"Config",Config);
713
/* ============================ tag.cc ============================ */
714
ADDTYPE(Module,"TagSection",&PyTagSection_Type);
715
ADDTYPE(Module,"TagFile",&PyTagFile_Type);
716
/* ============================ acquire.cc ============================ */
717
ADDTYPE(Module,"Acquire",&PyAcquire_Type);
718
ADDTYPE(Module,"AcquireFile",&PyAcquireFile_Type);
719
ADDTYPE(Module,"AcquireItem",&PyAcquireItem_Type); // NO __new__()
720
ADDTYPE(Module,"AcquireWorker",&PyAcquireWorker_Type); // NO __new__()
721
/* ============================ cache.cc ============================ */
722
ADDTYPE(Module,"Cache",&PyCache_Type);
723
ADDTYPE(Module,"Dependency",&PyDependency_Type); // NO __new__()
724
ADDTYPE(Module,"Description",&PyDescription_Type); // NO __new__()
725
ADDTYPE(Module,"PackageFile",&PyPackageFile_Type); // NO __new__()
726
ADDTYPE(Module,"PackageList",&PyPackageList_Type); // NO __new__(), internal
727
ADDTYPE(Module,"DependencyList",&PyDependencyList_Type); // NO __new__(), internal
728
ADDTYPE(Module,"Package",&PyPackage_Type); // NO __new__()
729
ADDTYPE(Module,"Version",&PyVersion_Type); // NO __new__()
730
/* ============================ cdrom.cc ============================ */
731
ADDTYPE(Module,"Cdrom",&PyCdrom_Type);
732
/* ========================= configuration.cc ========================= */
733
ADDTYPE(Module,"Configuration",&PyConfiguration_Type);
734
/* ========================= depcache.cc ========================= */
735
ADDTYPE(Module,"ActionGroup",&PyActionGroup_Type);
736
ADDTYPE(Module,"DepCache",&PyDepCache_Type);
737
ADDTYPE(Module,"ProblemResolver",&PyProblemResolver_Type);
738
/* ========================= indexfile.cc ========================= */
739
ADDTYPE(Module,"IndexFile",&PyIndexFile_Type); // NO __new__()
740
/* ========================= metaindex.cc ========================= */
741
ADDTYPE(Module,"MetaIndex",&PyMetaIndex_Type); // NO __new__()
742
/* ========================= pkgmanager.cc ========================= */
743
ADDTYPE(Module,"PackageManager",&PyPackageManager_Type);
744
/* ========================= pkgrecords.cc ========================= */
745
ADDTYPE(Module,"PackageRecords",&PyPackageRecords_Type);
746
/* ========================= pkgsrcrecords.cc ========================= */
747
ADDTYPE(Module,"SourceRecords",&PySourceRecords_Type);
748
/* ========================= sourcelist.cc ========================= */
749
ADDTYPE(Module,"SourceList",&PySourceList_Type);
750
ADDTYPE(Module,"IndexRecords",&PyIndexRecords_Type);
751
ADDTYPE(Module,"HashString",&PyHashString_Type);
752
ADDTYPE(Module,"Policy",&PyPolicy_Type);
753
ADDTYPE(Module,"Hashes",&PyHashes_Type);
754
ADDTYPE(Module,"AcquireItemDesc",&PyAcquireItemDesc_Type);
755
ADDTYPE(Module,"SystemLock",&PySystemLock_Type);
756
ADDTYPE(Module,"FileLock",&PyFileLock_Type);
484
757
// Tag file constants
486
PyDict_SetItemString(Dict,"RewritePackageOrder",
487
Obj = CharCharToList(TFRewritePackageOrder));
489
PyDict_SetItemString(Dict,"RewriteSourceOrder",
490
Obj = CharCharToList(TFRewriteSourceOrder));
758
PyModule_AddObject(Module,"REWRITE_PACKAGE_ORDER",
759
CharCharToList(TFRewritePackageOrder));
761
PyModule_AddObject(Module,"REWRITE_SOURCE_ORDER",
762
CharCharToList(TFRewriteSourceOrder));
765
// Acquire constants.
767
PyDict_SetItemString(PyAcquire_Type.tp_dict, "RESULT_CANCELLED",
768
Py_BuildValue("i", pkgAcquire::Cancelled));
769
PyDict_SetItemString(PyAcquire_Type.tp_dict, "RESULT_CONTINUE",
770
Py_BuildValue("i", pkgAcquire::Continue));
771
PyDict_SetItemString(PyAcquire_Type.tp_dict, "RESULT_FAILED",
772
Py_BuildValue("i", pkgAcquire::Failed));
774
PyDict_SetItemString(PyAcquire_Type.tp_dict, "ResultCancelled",
775
Py_BuildValue("i", pkgAcquire::Cancelled));
776
PyDict_SetItemString(PyAcquire_Type.tp_dict, "ResultContinue",
777
Py_BuildValue("i", pkgAcquire::Continue));
778
PyDict_SetItemString(PyAcquire_Type.tp_dict, "ResultFailed",
779
Py_BuildValue("i", pkgAcquire::Failed));
781
// Dependency constants
782
PyDict_SetItemString(PyDependency_Type.tp_dict, "TYPE_DEPENDS",
783
Py_BuildValue("i", pkgCache::Dep::Depends));
784
PyDict_SetItemString(PyDependency_Type.tp_dict, "TYPE_PREDEPENDS",
785
Py_BuildValue("i", pkgCache::Dep::PreDepends));
786
PyDict_SetItemString(PyDependency_Type.tp_dict, "TYPE_SUGGESTS",
787
Py_BuildValue("i", pkgCache::Dep::Suggests));
788
PyDict_SetItemString(PyDependency_Type.tp_dict, "TYPE_RECOMMENDS",
789
Py_BuildValue("i", pkgCache::Dep::Suggests));
790
PyDict_SetItemString(PyDependency_Type.tp_dict, "TYPE_CONFLICTS",
791
Py_BuildValue("i", pkgCache::Dep::Conflicts));
792
PyDict_SetItemString(PyDependency_Type.tp_dict, "TYPE_REPLACES",
793
Py_BuildValue("i", pkgCache::Dep::Replaces));
794
PyDict_SetItemString(PyDependency_Type.tp_dict, "TYPE_OBSOLETES",
795
Py_BuildValue("i", pkgCache::Dep::Obsoletes));
796
PyDict_SetItemString(PyDependency_Type.tp_dict, "TYPE_DPKG_BREAKS",
797
Py_BuildValue("i", pkgCache::Dep::DpkgBreaks));
798
PyDict_SetItemString(PyDependency_Type.tp_dict, "TYPE_ENHANCES",
799
Py_BuildValue("i", pkgCache::Dep::Enhances));
802
// PackageManager constants
803
PyDict_SetItemString(PyPackageManager_Type.tp_dict, "RESULT_COMPLETED",
804
Py_BuildValue("i", pkgPackageManager::Completed));
805
PyDict_SetItemString(PyPackageManager_Type.tp_dict, "RESULT_FAILED",
806
Py_BuildValue("i", pkgPackageManager::Failed));
807
PyDict_SetItemString(PyPackageManager_Type.tp_dict, "RESULT_INCOMPLETE",
808
Py_BuildValue("i", pkgPackageManager::Incomplete));
811
PyDict_SetItemString(PyPackageManager_Type.tp_dict, "ResultCompleted",
812
Py_BuildValue("i", pkgPackageManager::Completed));
813
PyDict_SetItemString(PyPackageManager_Type.tp_dict, "ResultFailed",
814
Py_BuildValue("i", pkgPackageManager::Failed));
815
PyDict_SetItemString(PyPackageManager_Type.tp_dict, "ResultIncomplete",
816
Py_BuildValue("i", pkgPackageManager::Incomplete));
819
// AcquireItem Constants.
820
PyDict_SetItemString(PyAcquireItem_Type.tp_dict, "STAT_IDLE",
821
Py_BuildValue("i", pkgAcquire::Item::StatIdle));
822
PyDict_SetItemString(PyAcquireItem_Type.tp_dict, "STAT_FETCHING",
823
Py_BuildValue("i", pkgAcquire::Item::StatFetching));
824
PyDict_SetItemString(PyAcquireItem_Type.tp_dict, "STAT_DONE",
825
Py_BuildValue("i", pkgAcquire::Item::StatDone));
826
PyDict_SetItemString(PyAcquireItem_Type.tp_dict, "STAT_ERROR",
827
Py_BuildValue("i", pkgAcquire::Item::StatError));
828
PyDict_SetItemString(PyAcquireItem_Type.tp_dict, "STAT_AUTH_ERROR",
829
Py_BuildValue("i", pkgAcquire::Item::StatAuthError));
832
PyDict_SetItemString(PyAcquireItem_Type.tp_dict, "StatIdle",
833
Py_BuildValue("i", pkgAcquire::Item::StatIdle));
834
PyDict_SetItemString(PyAcquireItem_Type.tp_dict, "StatFetching",
835
Py_BuildValue("i", pkgAcquire::Item::StatFetching));
836
PyDict_SetItemString(PyAcquireItem_Type.tp_dict, "StatDone",
837
Py_BuildValue("i", pkgAcquire::Item::StatDone));
838
PyDict_SetItemString(PyAcquireItem_Type.tp_dict, "StatError",
839
Py_BuildValue("i", pkgAcquire::Item::StatError));
840
PyDict_SetItemString(PyAcquireItem_Type.tp_dict, "StatAuthError",
841
Py_BuildValue("i", pkgAcquire::Item::StatAuthError));
844
#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 1
845
PyObject *PyCapsule = PyCapsule_New(&API, "apt_pkg._C_API", NULL);
847
PyObject *PyCapsule = PyCObject_FromVoidPtr(&API, NULL);
849
PyModule_AddObject(Module, "_C_API", PyCapsule);
494
AddStr(Dict,"Version",pkgVersion);
495
AddStr(Dict,"LibVersion",pkgLibVersion);
496
AddStr(Dict,"Date",__DATE__);
497
AddStr(Dict,"Time",__TIME__);
851
PyModule_AddStringConstant(Module,"VERSION",(char *)pkgVersion);
852
PyModule_AddStringConstant(Module,"LIB_VERSION",(char *)pkgLibVersion);
853
PyModule_AddStringConstant(Module,"DATE",__DATE__);
854
PyModule_AddStringConstant(Module,"TIME",__TIME__);
500
AddInt(Dict,"DepDepends",pkgCache::Dep::Depends);
501
AddInt(Dict,"DepPreDepends",pkgCache::Dep::PreDepends);
502
AddInt(Dict,"DepSuggests",pkgCache::Dep::Suggests);
503
AddInt(Dict,"DepRecommends",pkgCache::Dep::Recommends);
504
AddInt(Dict,"DepConflicts",pkgCache::Dep::Conflicts);
505
AddInt(Dict,"DepReplaces",pkgCache::Dep::Replaces);
506
AddInt(Dict,"DepObsoletes",pkgCache::Dep::Obsoletes);
507
AddInt(Dict,"DepDpkgBreaks",pkgCache::Dep::DpkgBreaks);
508
AddInt(Dict,"DepEnhances",pkgCache::Dep::Enhances);
510
AddInt(Dict,"PriImportant",pkgCache::State::Important);
511
AddInt(Dict,"PriRequired",pkgCache::State::Required);
512
AddInt(Dict,"PriStandard",pkgCache::State::Standard);
513
AddInt(Dict,"PriOptional",pkgCache::State::Optional);
514
AddInt(Dict,"PriExtra",pkgCache::State::Extra);
516
AddInt(Dict,"CurStateNotInstalled",pkgCache::State::NotInstalled);
517
AddInt(Dict,"CurStateUnPacked",pkgCache::State::UnPacked);
518
AddInt(Dict,"CurStateHalfConfigured",pkgCache::State::HalfConfigured);
519
AddInt(Dict,"CurStateHalfInstalled",pkgCache::State::HalfInstalled);
520
AddInt(Dict,"CurStateConfigFiles",pkgCache::State::ConfigFiles);
521
AddInt(Dict,"CurStateInstalled",pkgCache::State::Installed);
523
AddInt(Dict,"SelStateUnknown",pkgCache::State::Unknown);
524
AddInt(Dict,"SelStateInstall",pkgCache::State::Install);
525
AddInt(Dict,"SelStateHold",pkgCache::State::Hold);
526
AddInt(Dict,"SelStateDeInstall",pkgCache::State::DeInstall);
527
AddInt(Dict,"SelStatePurge",pkgCache::State::Purge);
529
AddInt(Dict,"InstStateOk",pkgCache::State::Ok);
530
AddInt(Dict,"InstStateReInstReq",pkgCache::State::ReInstReq);
531
AddInt(Dict,"InstStateHold",pkgCache::State::Hold);
532
AddInt(Dict,"InstStateHoldReInstReq",pkgCache::State::HoldReInstReq);
857
PyModule_AddIntConstant(Module,"PRI_IMPORTANT",pkgCache::State::Important);
858
PyModule_AddIntConstant(Module,"PRI_REQUIRED",pkgCache::State::Required);
859
PyModule_AddIntConstant(Module,"PRI_STANDARD",pkgCache::State::Standard);
860
PyModule_AddIntConstant(Module,"PRI_OPTIONAL",pkgCache::State::Optional);
861
PyModule_AddIntConstant(Module,"PRI_EXTRA",pkgCache::State::Extra);
863
PyModule_AddIntConstant(Module,"CURSTATE_NOT_INSTALLED",pkgCache::State::NotInstalled);
864
PyModule_AddIntConstant(Module,"CURSTATE_UNPACKED",pkgCache::State::UnPacked);
865
PyModule_AddIntConstant(Module,"CURSTATE_HALF_CONFIGURED",pkgCache::State::HalfConfigured);
866
PyModule_AddIntConstant(Module,"CURSTATE_HALF_INSTALLED",pkgCache::State::HalfInstalled);
867
PyModule_AddIntConstant(Module,"CURSTATE_CONFIG_FILES",pkgCache::State::ConfigFiles);
868
PyModule_AddIntConstant(Module,"CURSTATE_INSTALLED",pkgCache::State::Installed);
870
PyModule_AddIntConstant(Module,"SELSTATE_UNKNOWN",pkgCache::State::Unknown);
871
PyModule_AddIntConstant(Module,"SELSTATE_INSTALL",pkgCache::State::Install);
872
PyModule_AddIntConstant(Module,"SELSTATE_HOLD",pkgCache::State::Hold);
873
PyModule_AddIntConstant(Module,"SELSTATE_DEINSTALL",pkgCache::State::DeInstall);
874
PyModule_AddIntConstant(Module,"SELSTATE_PURGE",pkgCache::State::Purge);
876
PyModule_AddIntConstant(Module,"INSTSTATE_OK",pkgCache::State::Ok);
877
PyModule_AddIntConstant(Module,"INSTSTATE_REINSTREQ",pkgCache::State::ReInstReq);
878
PyModule_AddIntConstant(Module,"INSTSTATE_HOLD",pkgCache::State::Hold);
879
PyModule_AddIntConstant(Module,"INSTSTATE_HOLD_REINSTREQ",pkgCache::State::HoldReInstReq);
883
PyModule_AddObject(Module,"RewritePackageOrder",
884
CharCharToList(TFRewritePackageOrder));
885
PyModule_AddObject(Module,"RewriteSourceOrder",
886
CharCharToList(TFRewriteSourceOrder));
887
PyModule_AddStringConstant(Module,"LibVersion",(char *)pkgLibVersion);
888
PyModule_AddStringConstant(Module,"Date",__DATE__);
889
PyModule_AddStringConstant(Module,"Time",__TIME__);
890
PyModule_AddIntConstant(Module,"PriImportant",pkgCache::State::Important);
891
PyModule_AddIntConstant(Module,"PriRequired",pkgCache::State::Required);
892
PyModule_AddIntConstant(Module,"PriStandard",pkgCache::State::Standard);
893
PyModule_AddIntConstant(Module,"PriOptional",pkgCache::State::Optional);
894
PyModule_AddIntConstant(Module,"PriExtra",pkgCache::State::Extra);
895
PyModule_AddIntConstant(Module,"CurStateNotInstalled",pkgCache::State::NotInstalled);
896
PyModule_AddIntConstant(Module,"CurStateUnPacked",pkgCache::State::UnPacked);
897
PyModule_AddIntConstant(Module,"CurStateHalfConfigured",pkgCache::State::HalfConfigured);
898
PyModule_AddIntConstant(Module,"CurStateHalfInstalled",pkgCache::State::HalfInstalled);
899
PyModule_AddIntConstant(Module,"CurStateConfigFiles",pkgCache::State::ConfigFiles);
900
PyModule_AddIntConstant(Module,"CurStateInstalled",pkgCache::State::Installed);
901
PyModule_AddIntConstant(Module,"SelStateUnknown",pkgCache::State::Unknown);
902
PyModule_AddIntConstant(Module,"SelStateInstall",pkgCache::State::Install);
903
PyModule_AddIntConstant(Module,"SelStateHold",pkgCache::State::Hold);
904
PyModule_AddIntConstant(Module,"SelStateDeInstall",pkgCache::State::DeInstall);
905
PyModule_AddIntConstant(Module,"SelStatePurge",pkgCache::State::Purge);
906
PyModule_AddIntConstant(Module,"InstStateOk",pkgCache::State::Ok);
907
PyModule_AddIntConstant(Module,"InstStateReInstReq",pkgCache::State::ReInstReq);
908
PyModule_AddIntConstant(Module,"InstStateHold",pkgCache::State::Hold);
909
PyModule_AddIntConstant(Module,"InstStateHoldReInstReq",pkgCache::State::HoldReInstReq);
910
PyModule_AddIntConstant(Module,"_COMPAT_0_7",1);
912
PyModule_AddIntConstant(Module,"_COMPAT_0_7",0);
914
#if PY_MAJOR_VERSION >= 3