def get_package_dependents_count(ecosystem_backend, package, db_session=None):
"""Get number of GitHub projects dependent on the `package`.
:param ecosystem_backend: str, Ecosystem backend from `f8a_worker.enums.EcosystemBackend`
:param package: str, Package name
:param db_session: obj, Database session to use for querying
:return: number of dependent projects, or -1 if the information is not available
"""
if not db_session:
storage = StoragePool.get_connected_storage("BayesianPostgres")
db_session = storage.session
try:
count = db_session.query(PackageGHUsage.count).filter(PackageGHUsage.name == package) \
.filter(PackageGHUsage.ecosystem_backend == ecosystem_backend) \
.order_by(desc(PackageGHUsage.timestamp)) \
.first()
except SQLAlchemyError:
db_session.rollback()
raise
if count:
return count[0]
return -1
utils.py 文件源码
python
阅读 19
收藏 0
点赞 0
评论 0
评论列表
文章目录