Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
I
inary
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
1
Konular (issue)
1
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
SulinOS
inary
Commits
e54fe0dd
Kaydet (Commit)
e54fe0dd
authored
Tem 07, 2005
tarafından
Barış Metin
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
fetcher'dan progress'i kaldır. progress göstermek ui'nin işi.
Burada bir-iki düzenleme daha gerekebilir...
üst
a8d75c75
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
29 additions
and
47 deletions
+29
-47
fetcher.py
pisi/fetcher.py
+2
-22
index.py
pisi/index.py
+2
-2
package.py
pisi/package.py
+3
-2
packagedb.py
pisi/packagedb.py
+2
-1
sourcearchive.py
pisi/sourcearchive.py
+2
-2
ui.py
pisi/ui.py
+18
-18
No files found.
pisi/fetcher.py
Dosyayı görüntüle @
e54fe0dd
...
...
@@ -19,11 +19,6 @@ class FetchError (Exception):
pass
# helper functions
def
displayProgress
(
pd
):
out
=
'
\r
%-30.30
s
%3
d
%% %12.2
f
%
s'
%
\
(
pd
[
'filename'
],
pd
[
'percent'
],
pd
[
'rate'
],
pd
[
'symbol'
])
ui
.
info
(
out
)
def
fetchUrl
(
url
,
dest
,
percentHook
=
None
):
fetch
=
Fetcher
(
url
,
dest
)
fetch
.
percentHook
=
percentHook
...
...
@@ -66,7 +61,7 @@ class Fetcher:
symbols
=
[
' B/s'
,
'KB/s'
,
'MB/s'
,
'GB/s'
]
from
time
import
time
tt
,
oldsize
=
int
(
time
()),
0
p
=
Progress
(
totalsize
)
p
=
ui
.
Progress
(
totalsize
)
bs
,
size
=
1024
,
0
symbol
,
depth
=
"B/s"
,
0
st
=
time
()
...
...
@@ -87,7 +82,7 @@ class Fetcher:
oldsize
,
tt
=
size
,
time
()
if
p
.
update
(
size
):
self
.
percent
=
p
.
percent
if
self
.
percentHook
!=
None
:
if
self
.
percentHook
:
retval
=
{
'filename'
:
self
.
url
.
filename
(),
'percent'
:
self
.
percent
,
'rate'
:
self
.
rate
,
...
...
@@ -141,18 +136,3 @@ class Fetcher:
def
err
(
self
,
error
):
raise
FetchError
(
error
)
class
Progress
:
def
__init__
(
self
,
totalsize
):
self
.
totalsize
=
totalsize
self
.
percent
=
0
def
update
(
self
,
size
):
if
not
self
.
totalsize
:
return
100
percent
=
(
size
*
100
)
/
self
.
totalsize
if
percent
and
self
.
percent
is
not
percent
:
self
.
percent
=
percent
return
percent
else
:
return
0
pisi/index.py
Dosyayı görüntüle @
e54fe0dd
...
...
@@ -25,9 +25,9 @@ class Index(XmlFile):
url
=
PUrl
(
filename
)
if
url
.
isRemoteFile
():
from
os
import
getcwd
from
fetcher
import
fetchUrl
,
displayProgress
from
fetcher
import
fetchUrl
# TODO: index dosyasını indirmek için bir yer bulmak lazım.
fetchUrl
(
url
,
getcwd
(),
displayProgress
)
fetchUrl
(
url
,
getcwd
(),
ui
.
displayProgress
)
self
.
filename
=
url
.
filename
()
self
.
readxml
(
self
.
filename
)
...
...
pisi/package.py
Dosyayı görüntüle @
e54fe0dd
...
...
@@ -16,10 +16,11 @@ class Package:
if
url
.
isRemoteFile
():
from
os
import
getcwd
from
fetcher
import
fetchUrl
,
displayProgress
from
fetcher
import
fetchUrl
from
ui
import
ui
# TODO: belki Constants.packages_dir() gibi bir yere
# indirmek daha iyi olur.
fetchUrl
(
url
,
getcwd
(),
displayProgress
)
fetchUrl
(
url
,
getcwd
(),
ui
.
displayProgress
)
self
.
filename
=
url
.
filename
()
self
.
impl
=
archive
.
ArchiveZip
(
self
.
filename
,
'zip'
,
mode
)
...
...
pisi/packagedb.py
Dosyayı görüntüle @
e54fe0dd
...
...
@@ -16,7 +16,8 @@ from config import config
from
bsddb
import
db
class
PackageDB
(
object
):
"""PackageDB class provides an interface to the package database with
a delegated dbshelve object"""
def
__init__
(
self
):
util
.
check_dir
(
config
.
db_dir
())
filename
=
os
.
path
.
join
(
config
.
db_dir
(),
'package.bdb'
)
...
...
pisi/sourcearchive.py
Dosyayı görüntüle @
e54fe0dd
...
...
@@ -12,7 +12,7 @@ from archive import Archive
from
purl
import
PUrl
from
ui
import
ui
from
config
import
config
from
fetcher
import
fetchUrl
,
displayProgress
from
fetcher
import
fetchUrl
import
util
...
...
@@ -31,7 +31,7 @@ class SourceArchive:
def
fetch
(
self
,
interactive
=
True
):
if
not
self
.
isCached
(
interactive
):
if
interactive
:
self
.
showProgress
=
displayProgress
self
.
showProgress
=
ui
.
displayProgress
fetchUrl
(
self
.
url
,
config
.
archives_dir
(),
self
.
showProgress
)
def
isCached
(
self
,
interactive
=
True
):
...
...
pisi/ui.py
Dosyayı görüntüle @
e54fe0dd
...
...
@@ -14,13 +14,6 @@ class CLI:
def
__init__
(
self
,
debuggy
=
True
):
self
.
showDebug
=
debuggy
class
Progress
:
def
__init__
(
self
,
name
,
symbol
):
self
.
name
=
name
self
.
percent
=
0
self
.
rate
=
0
self
.
symbol
=
symbol
def
info
(
self
,
msg
):
sys
.
stdout
.
write
(
colorize
(
msg
,
'blue'
))
sys
.
stdout
.
flush
()
...
...
@@ -34,18 +27,25 @@ class CLI:
sys
.
stdout
.
write
(
colorize
(
msg
,
'red'
))
sys
.
stdout
.
flush
()
def
startProgress
(
self
,
name
,
symbol
):
## support one progress for now
self
.
activeProgress
=
Progress
(
name
,
symbol
)
def
updateProgress
(
self
,
percent
,
rate
):
self
.
activeProgress
.
percent
=
percent
self
.
activeProgress
.
rate
=
rate
self
.
displayProgress
(
pd
)
def
displayProgress
(
pd
):
class
Progress
:
def
__init__
(
self
,
totalsize
):
self
.
totalsize
=
totalsize
self
.
percent
=
0
def
update
(
self
,
size
):
if
not
self
.
totalsize
:
return
100
percent
=
(
size
*
100
)
/
self
.
totalsize
if
percent
and
self
.
percent
is
not
percent
:
self
.
percent
=
percent
return
percent
else
:
return
0
def
displayProgress
(
self
,
pd
):
out
=
'
\r
%-30.30
s
%3
d
%% %12.2
f
%
s'
%
\
(
self
.
name
,
self
.
percent
,
self
.
rate
,
self
.
symbol
)
(
pd
[
'filename'
],
pd
[
'percent'
],
pd
[
'rate'
],
pd
[
'symbol'
]
)
self
.
info
(
out
)
# default UI is CLI
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment