Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Owo Sugiana
/
opensipkd-iso8583
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 708fdd87
authored
May 09, 2020
by
Owo Sugiana
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
Streamer kini bekerja secara bytes, tidak lagi str
1 parent
afb3668e
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
41 additions
and
34 deletions
.gitignore
CHANGES.txt
opensipkd/iso8583/doc.py
opensipkd/iso8583/network/doc.py
opensipkd/iso8583/network/job.py
opensipkd/streamer/__init__.py
opensipkd/streamer/bjb.py
opensipkd/streamer/bjb_with_suffix.py
opensipkd/streamer/bjt.py
opensipkd/streamer/bri_way4.py
opensipkd/streamer/bsb.py
opensipkd/streamer/bsm.py
opensipkd/streamer/btn.py
opensipkd/streamer/mitracomm.py
opensipkd/streamer/pos.py
opensipkd/tcp/connection.py
.gitignore
View file @
708fdd8
dist
build
*egg-info
CHANGES.txt
View file @
708fdd8
0.1.5 2020-0
4-28
0.1.5 2020-0
5-09
----------------
- Bug fixed pada mitracomm.py
- Bug fixed pada mitracomm.py. Seluruh streamer kini bekerja dengan bytes tidak
lagi str.
- Bug fixed pada receive_raw() dimana raw tidak lagi di-encode ke UTF-8 karena
network header tidak bisa demikian, terkait mitracomm.py.
- Bug fixed pada ISO8583.__setBitTypeANS() dimana seharusnya menggunakan
ljust() ketimbang zfill()
...
...
opensipkd/iso8583/doc.py
View file @
708fdd8
...
...
@@ -39,8 +39,8 @@ class BaseISO8583(ISO8583):
raw
=
raw
.
decode
(
'utf-8'
)
return
raw
.
upper
()
def
setIsoContent
(
self
,
raw
):
ISO8583
.
setIsoContent
(
self
,
raw
.
encode
(
'utf-8'
))
#
def setIsoContent(self, raw):
#
ISO8583.setIsoContent(self, raw.encode('utf-8'))
def
get_bit_definition
(
self
):
return
{}
...
...
opensipkd/iso8583/network/doc.py
View file @
708fdd8
...
...
@@ -87,6 +87,9 @@ class Doc(BaseISO8583):
def
get_transaction_code
(
self
):
return
self
.
getBit
(
3
)
def
set_transaction_code
(
self
,
value
):
self
.
setBit
(
3
,
value
)
def
is_inquiry
(
self
):
return
self
.
get_transaction_code
()
==
self
.
get_inquiry_code
()
and
\
'inquiry'
...
...
@@ -138,7 +141,7 @@ class Doc(BaseISO8583):
def
set_inquiry_request
(
self
):
# sebagai bank
self
.
set_transaction_request
()
self
.
set
Bit
(
3
,
self
.
get_inquiry_code
())
self
.
set
_transaction_code
(
self
.
get_inquiry_code
())
def
set_inquiry_response
(
self
):
# sebagai pemda
self
.
set_transaction_response
()
...
...
opensipkd/iso8583/network/job.py
View file @
708fdd8
...
...
@@ -15,9 +15,12 @@ class Job:
def
get_iso_class
(
self
):
return
Doc
def
create_iso
(
self
,
from_iso
=
None
):
def
create_iso
(
self
,
from_iso
=
None
,
conf
=
dict
()
):
cls
=
self
.
get_iso_class
()
return
cls
(
from_iso
=
from_iso
,
conf
=
self
.
conf
)
cf
=
dict
(
self
.
conf
)
if
conf
:
cf
.
update
(
conf
)
return
cls
(
from_iso
=
from_iso
,
conf
=
cf
)
def
get_iso
(
self
):
if
self
.
do_echo
:
...
...
opensipkd/streamer/__init__.py
View file @
708fdd8
...
...
@@ -24,7 +24,7 @@ def get_streamer_module(name):
class
Streamer
:
def
__init__
(
self
):
self
.
raw
=
''
self
.
raw
=
b
''
self
.
size
=
0
# Override please.
...
...
opensipkd/streamer/bjb.py
View file @
708fdd8
...
...
@@ -17,7 +17,7 @@ class Streamer(BaseStreamer):
self
.
raw
=
raw
return
size
=
self
.
size
=
self
.
get_size
(
raw
)
self
.
raw
=
''
self
.
raw
=
b
''
raw
=
raw
[
4
:]
self
.
raw
+=
raw
[:
size
]
if
len
(
self
.
raw
)
==
self
.
size
:
...
...
@@ -30,4 +30,4 @@ class Streamer(BaseStreamer):
# Override Stremer.set
def
set
(
self
,
raw
):
size
=
str
(
len
(
raw
))
.
zfill
(
4
)
return
size
+
raw
return
size
.
encode
()
+
raw
opensipkd/streamer/bjb_with_suffix.py
View file @
708fdd8
...
...
@@ -13,5 +13,6 @@ class Streamer(BaseStreamer):
# Override Stremer.set
def
set
(
self
,
raw
):
raw
+=
'
\x03
'
raw
=
raw
.
encode
()
raw
+=
bytes
([
3
])
return
BaseStreamer
.
set
(
self
,
raw
)
opensipkd/streamer/bjt.py
View file @
708fdd8
...
...
@@ -16,7 +16,7 @@ class Streamer(BaseStreamer):
self
.
raw
=
raw
return
size
=
self
.
size
=
int
(
raw
[:
4
])
self
.
raw
=
''
self
.
raw
=
b
''
raw
=
raw
[
4
:]
self
.
raw
+=
raw
[:
size
]
if
len
(
self
.
raw
)
==
self
.
size
:
...
...
@@ -29,4 +29,4 @@ class Streamer(BaseStreamer):
# Override Stremer.set
def
set
(
self
,
raw
):
size
=
str
(
len
(
raw
))
.
zfill
(
4
)
return
size
+
raw
return
size
.
encode
()
+
raw
opensipkd/streamer/bri_way4.py
View file @
708fdd8
...
...
@@ -22,7 +22,7 @@ class Streamer(BaseStreamer):
self
.
raw
=
raw
return
size
=
self
.
size
=
self
.
get_size
(
raw
[:
2
])
self
.
raw
=
''
self
.
raw
=
b
''
raw
=
raw
[
2
:]
self
.
raw
+=
raw
[:
size
]
if
len
(
self
.
raw
)
==
self
.
size
:
...
...
@@ -34,9 +34,8 @@ class Streamer(BaseStreamer):
# Override Stremer.set
def
set
(
self
,
raw
):
raw
=
raw
.
upper
()
size
=
len
(
raw
)
a
=
size
%
256
b
=
size
/
256
header
=
chr
(
b
)
+
chr
(
a
)
header
=
bytes
([
b
])
+
bytes
([
a
]
)
return
header
+
raw
opensipkd/streamer/bsb.py
View file @
708fdd8
...
...
@@ -16,7 +16,7 @@ class Streamer(BaseStreamer):
self
.
raw
=
raw
return
size
=
self
.
size
=
int
(
raw
[:
4
])
self
.
raw
=
''
self
.
raw
=
b
''
raw
=
raw
[
4
:]
self
.
raw
+=
raw
[:
size
]
if
len
(
self
.
raw
)
==
self
.
size
:
...
...
@@ -29,4 +29,4 @@ class Streamer(BaseStreamer):
# Override Stremer.set
def
set
(
self
,
raw
):
size
=
str
(
len
(
raw
))
.
zfill
(
4
)
return
size
+
raw
return
size
.
encode
()
+
raw
opensipkd/streamer/bsm.py
View file @
708fdd8
...
...
@@ -17,7 +17,7 @@ class Streamer(BaseStreamer):
self
.
raw
=
raw
return
size
=
self
.
size
=
int
(
raw
[:
4
])
self
.
raw
=
''
self
.
raw
=
b
''
raw
=
raw
[
4
:]
self
.
raw
+=
raw
[:
size
]
if
len
(
self
.
raw
)
==
self
.
size
:
...
...
@@ -30,4 +30,4 @@ class Streamer(BaseStreamer):
# Override Stremer.set
def
set
(
self
,
raw
):
size
=
str
(
len
(
raw
))
.
zfill
(
4
)
return
size
+
raw
return
size
.
encode
()
+
raw
opensipkd/streamer/btn.py
View file @
708fdd8
...
...
@@ -17,7 +17,7 @@ class Streamer(BaseStreamer):
self
.
raw
=
raw
return
size
=
self
.
size
=
self
.
get_size
(
raw
)
self
.
raw
=
''
self
.
raw
=
b
''
raw
=
raw
[
4
:]
self
.
raw
+=
raw
[:
size
]
if
len
(
self
.
raw
)
==
self
.
size
:
...
...
@@ -30,4 +30,4 @@ class Streamer(BaseStreamer):
# Override Stremer.set
def
set
(
self
,
raw
):
size
=
str
(
len
(
raw
))
.
zfill
(
4
)
return
size
+
raw
return
size
.
encode
()
+
raw
opensipkd/streamer/mitracomm.py
View file @
708fdd8
...
...
@@ -6,8 +6,7 @@ from . import Streamer as BaseStreamer
class
Streamer
(
BaseStreamer
):
def
get_size
(
self
,
raw
):
a
,
b
=
raw
a
=
ord
(
a
)
*
256
b
=
ord
(
b
)
a
=
a
*
256
return
a
+
b
# Override Stremer.get
...
...
@@ -15,12 +14,14 @@ class Streamer(BaseStreamer):
if
self
.
size
:
size
=
self
.
size
-
len
(
self
.
raw
)
else
:
if
isinstance
(
raw
,
str
):
raw
=
raw
.
encode
()
raw
=
self
.
raw
+
raw
if
len
(
raw
)
<
2
:
self
.
raw
=
raw
return
size
=
self
.
size
=
self
.
get_size
(
raw
[:
2
])
self
.
raw
=
''
self
.
raw
=
b
''
raw
=
raw
[
2
:]
self
.
raw
+=
raw
[:
size
]
if
len
(
self
.
raw
)
==
self
.
size
:
...
...
@@ -35,5 +36,5 @@ class Streamer(BaseStreamer):
size
=
len
(
raw
)
a
=
int
(
size
/
256
)
b
=
size
%
256
header
=
chr
(
a
)
+
chr
(
b
)
return
header
+
raw
header
=
bytes
([
a
])
+
bytes
([
b
]
)
return
header
+
raw
.
encode
()
opensipkd/streamer/pos.py
View file @
708fdd8
...
...
@@ -22,7 +22,7 @@ class Streamer(BaseStreamer):
self
.
raw
=
raw
return
size
=
self
.
size
=
self
.
get_size
(
raw
[:
2
])
self
.
raw
=
''
self
.
raw
=
b
''
raw
=
raw
[
2
:]
self
.
raw
+=
raw
[:
size
]
if
len
(
self
.
raw
)
==
self
.
size
:
...
...
@@ -37,5 +37,5 @@ class Streamer(BaseStreamer):
size
=
len
(
raw
)
a
=
size
%
256
b
=
size
/
256
header
=
chr
(
a
)
+
chr
(
b
)
header
=
bytes
([
a
])
+
bytes
([
b
]
)
return
header
+
raw
opensipkd/tcp/connection.py
View file @
708fdd8
...
...
@@ -70,15 +70,13 @@ class Connection:
raw
=
self
.
process
(
raw
)
if
raw
:
self
.
send
(
raw
)
raw
=
''
raw
=
b
''
def
receive_raw
(
self
):
try
:
ready
,
_
,
_
=
select
.
select
([
self
.
request
],
[],
[],
5
)
raw
=
ready
and
self
.
request
.
recv
(
self
.
get_receive_size
(),
socket
.
MSG_DONTWAIT
)
or
''
if
isinstance
(
raw
,
bytes
):
raw
=
raw
.
decode
(
'utf-8'
)
if
raw
:
self
.
on_receive_raw
(
raw
)
return
raw
...
...
@@ -113,8 +111,6 @@ class Connection:
self
.
just_send
(
raw
)
def
just_send
(
self
,
raw
):
if
sys
.
version_info
.
major
>
2
:
raw
=
raw
.
encode
(
'utf-8'
)
try
:
self
.
request
.
sendall
(
raw
)
except
socket
.
error
as
err
:
...
...
Write
Preview
Markdown
is supported
Attach a file
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 post a comment