Làm thế nào để tìm ra số lượng tải xuống gói từ PPA?


15

Tôi muốn biết có bao nhiêu lượt tải xuống của một gói nhất định trong PPA đã có kể từ khi nó được xuất bản lần đầu tiên.

Tôi nhớ có một lỗi về việc lấy các số liệu này trên giao diện người dùng web, nhưng theo tôi biết, nó không bao giờ được thực hiện.

Nhưng tôi nghĩ rằng số lượng tải xuống vẫn có thể có được thông qua API Launchpad nếu tôi là chủ sở hữu của PPA đó. Bất kỳ con trỏ?

Câu trả lời:


17

Kiểm tra kịch bản này:

#!/usr/bin/python2

# Usage python ppastats.py PPATEAM (ex: webupd8team) PPA (ex: gthumb) DIST (Ubuntu version eg maverick) ARCH (ubuntu arch eg i386 or amd64)
# Example - highest downloaded file: python ppastats.py webupd8team y-ppa-manager maverick amd64 | tr '\t' ',' | cut -d ',' -f3 | sort -gr

import sys
from launchpadlib.launchpad import Launchpad

PPAOWNER = sys.argv[1]
PPA = sys.argv[2]
desired_dist_and_arch = 'https://api.launchpad.net/devel/ubuntu/' + sys.argv[3] + '/' + sys.argv[4]

cachedir = "~/.launchpadlib/cache/"
lp_ = Launchpad.login_anonymously('ppastats', 'production', cachedir)
owner = lp_.people[PPAOWNER]
archive = owner.getPPAByName(name=PPA)

for individualarchive in archive.getPublishedBinaries(status='Published', distro_arch_series=desired_dist_and_arch):
    x = individualarchive.getDownloadCount()
    if x > 0:
        print individualarchive.binary_package_name + "\t" + individualarchive.binary_package_version + "\t" + str(individualarchive.getDownloadCount())
    elif x < 1:
        print '0'

Để dùng nó:

python ppastats.py webupd8team themes natty i386

2
sudo pip install launchpadlib && sudo pip install simplejson
OverCoder

Tôi lấy cái này và mở rộng nó ra một chút: gist.github.com/nathan-osman/b9158d058cc45916dcd20a591b66d0b4 Bây giờ bạn không còn cần chỉ định nhị phân nữa và bạn có được một bảng được định dạng độc đáo.
Nathan Osman

1

Bạn có thể tạo báo cáo HTML chứa số liệu thống kê và biểu đồ về số lượt tải xuống của PPA bằng ppastats ( http://wpitchoune.net/blog/ppastats/ ).

Dưới đây là một ví dụ: http://wpitchoune.net/ppastats/ppa/otto-kesselgicesch/gimp/ .

Nếu bạn đang sử dụng Ubuntu, bạn có thể cài đặt nó bằng cách sử dụng PPA ppa: jfi / ppastats:

sudo apt-add-repository ppa:jfi/ppastats
sudo apt-get update
sudo apt-get install ppastats

Sau đó, để tạo báo cáo HTML:

ppastats [PPA_OWNER] [PPA_NAME] -o [OUTPUT_DIR]

1
Hiện tại chưa có gói sinh động nào: /
Seth

ppastats đang biên dịch tốt trên sinh động, ít nhất là phiên bản 1.3.3 ( wpitchoune.net/ppastats/files/ppastats-1.3.3.tar.gz ). Bao bì ubfox cũng vậy, nó có thể được xây dựng với git-buildpackage từ kho git sau: git.wpitchoune.net/psensor-pkg-ub Ubuntu.git . Tôi có thể sẽ tải nó công khai tại một số điểm.
JeanFI

Tôi vừa cài đặt gói nhị phân có sẵn cuối cùng, hoạt động tốt. Bạn có nhận ra rằng bạn có thể yêu cầu Launchpad xây dựng lại gói cho bản phát hành mới hơn cho bạn không?
Seth

Không có gói yakkety :(
Seth

Tính đến hôm nay, số đếm trên ppa này cho xenial i386 là 1. Có một khía cạnh danh tiếng khi biết số b4 cài đặt một gói mà điều này không vượt qua được .... chỉ cần nói
Rondo

1

Từ jfi/ppastatsgói, tôi đã tìm ra cách API hoạt động và tôi đã tạo một bản mô tả người dùng (Greasemonkey / Tampermonkey), nó sẽ liệt kê gọn gàng số lượng tải xuống bên cạnh các gói của bạn. Đảm bảo đi đến chế độ xem "Xem tất cả các bản dựng", trong đó có hai liên kết được thêm vào trong chi tiết gói của bạn. Các bản vá cho cải tiến đều được chào đón!


ai? Cái này hoạt động ra sao? Làm thế nào là đơn giản hơn so với câu trả lời được chấp nhận?
Kaz Wolfe

Đó là tập lệnh đa nền tảng mà bạn chạy trong trình duyệt của mình với tiện ích mở rộng Greasemonkey (Firefox) hoặc tiện ích mở rộng Tampermonkey (Chrome). Tôi sẽ nói rằng nó đơn giản hơn.
stefansundin

Số lượt tải xuống ở đâu? Tôi thấy "xem số lượt tải xuống" nhưng khi tôi nhấp vào thì dù sao tôi cũng không thấy chúng trên trang ..
Seth

Lạ thật. Tôi đã thử nghiệm phiên bản mới nhất với cả Firefox và Chrome (Greasemonkey và Tampermonkey). Hãy thử truy cập PPA của tôi (là cái tôi đã tạo ra): launchpad.net/~stefansundin/+archive/ubfox/truecrypt/. Nó có thể có một số vấn đề với một kho lưu trữ đã được sao chép giữa các phiên bản ub Ubuntu, trong trường hợp đó bạn có thể thấy một spinner không bao giờ biến mất. Tôi sẽ cố gắng giải quyết điều này trong phiên bản sau.
stefansundin

Vâng, đi đến PPA của bạn hoạt động, nhưng của tôi hoàn toàn không có gì . Hoàn toàn có thể chưa có ai tải xuống, nhưng ppastats dường như mâu thuẫn với điều đó: paste.ubfox.com/8752766 (Xin lỗi tôi đã không trả lời trước đó, nhưng bạn không @bao gồm tôi vì vậy tôi không thấy nó cho đến bây giờ )
Seth

0

Có một kịch bản python khác có sẵn tại:

https://bugs.launchpad.net/launchpad/+orms/139855/comments/66

DL: https://bugs.launchpad.net/launchpad/+orms/139855/+attachment/3217345/+files/ppastats

cách sử dụng: ppastat.py [-h] [--all] [--arch ARCH] người dùng [ppa [ppa ...]]


Chào mừng bạn đến với AskUbfox! Mặc dù điều này có thể có thể trả lời câu hỏi, nhưng không có lời giải thích thực sự, và điều này có thể tốt hơn là một nhận xét.
Không có thời gian

Nó có yêu cầu bất kỳ phụ thuộc đặc biệt? Ở đây trên Trusty nó thất bại với một IndexError: list index out of rangelỗi.
Landroni
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.