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
dist
build
*egg-info
*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
- Bug fixed pada ISO8583.__setBitTypeANS() dimana seharusnya menggunakan
ljust() ketimbang zfill()
ljust() ketimbang zfill()
...
...
opensipkd/iso8583/doc.py
View file @
708fdd8
...
@@ -39,8 +39,8 @@ class BaseISO8583(ISO8583):
...
@@ -39,8 +39,8 @@ class BaseISO8583(ISO8583):
raw
=
raw
.
decode
(
'utf-8'
)
raw
=
raw
.
decode
(
'utf-8'
)
return
raw
.
upper
()
return
raw
.
upper
()
def
setIsoContent
(
self
,
raw
):
#
def setIsoContent(self, raw):
ISO8583
.
setIsoContent
(
self
,
raw
.
encode
(
'utf-8'
))
#
ISO8583.setIsoContent(self, raw.encode('utf-8'))
def
get_bit_definition
(
self
):
def
get_bit_definition
(
self
):
return
{}
return
{}
...
...
opensipkd/iso8583/network/doc.py
View file @
708fdd8
...
@@ -87,6 +87,9 @@ class Doc(BaseISO8583):
...
@@ -87,6 +87,9 @@ class Doc(BaseISO8583):
def
get_transaction_code
(
self
):
def
get_transaction_code
(
self
):
return
self
.
getBit
(
3
)
return
self
.
getBit
(
3
)
def
set_transaction_code
(
self
,
value
):
self
.
setBit
(
3
,
value
)
def
is_inquiry
(
self
):
def
is_inquiry
(
self
):
return
self
.
get_transaction_code
()
==
self
.
get_inquiry_code
()
and
\
return
self
.
get_transaction_code
()
==
self
.
get_inquiry_code
()
and
\
'inquiry'
'inquiry'
...
@@ -138,7 +141,7 @@ class Doc(BaseISO8583):
...
@@ -138,7 +141,7 @@ class Doc(BaseISO8583):
def
set_inquiry_request
(
self
):
# sebagai bank
def
set_inquiry_request
(
self
):
# sebagai bank
self
.
set_transaction_request
()
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
def
set_inquiry_response
(
self
):
# sebagai pemda
self
.
set_transaction_response
()
self
.
set_transaction_response
()
...
...
opensipkd/iso8583/network/job.py
View file @
708fdd8
...
@@ -15,9 +15,12 @@ class Job:
...
@@ -15,9 +15,12 @@ class Job:
def
get_iso_class
(
self
):
def
get_iso_class
(
self
):
return
Doc
return
Doc
def
create_iso
(
self
,
from_iso
=
None
):
def
create_iso
(
self
,
from_iso
=
None
,
conf
=
dict
()
):
cls
=
self
.
get_iso_class
()
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
):
def
get_iso
(
self
):
if
self
.
do_echo
:
if
self
.
do_echo
:
...
...
opensipkd/streamer/__init__.py
View file @
708fdd8
...
@@ -24,7 +24,7 @@ def get_streamer_module(name):
...
@@ -24,7 +24,7 @@ def get_streamer_module(name):
class
Streamer
:
class
Streamer
:
def
__init__
(
self
):
def
__init__
(
self
):
self
.
raw
=
''
self
.
raw
=
b
''
self
.
size
=
0
self
.
size
=
0
# Override please.
# Override please.
...
...
opensipkd/streamer/bjb.py
View file @
708fdd8
...
@@ -17,7 +17,7 @@ class Streamer(BaseStreamer):
...
@@ -17,7 +17,7 @@ class Streamer(BaseStreamer):
self
.
raw
=
raw
self
.
raw
=
raw
return
return
size
=
self
.
size
=
self
.
get_size
(
raw
)
size
=
self
.
size
=
self
.
get_size
(
raw
)
self
.
raw
=
''
self
.
raw
=
b
''
raw
=
raw
[
4
:]
raw
=
raw
[
4
:]
self
.
raw
+=
raw
[:
size
]
self
.
raw
+=
raw
[:
size
]
if
len
(
self
.
raw
)
==
self
.
size
:
if
len
(
self
.
raw
)
==
self
.
size
:
...
@@ -30,4 +30,4 @@ class Streamer(BaseStreamer):
...
@@ -30,4 +30,4 @@ class Streamer(BaseStreamer):
# Override Stremer.set
# Override Stremer.set
def
set
(
self
,
raw
):
def
set
(
self
,
raw
):
size
=
str
(
len
(
raw
))
.
zfill
(
4
)
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):
...
@@ -13,5 +13,6 @@ class Streamer(BaseStreamer):
# Override Stremer.set
# Override Stremer.set
def
set
(
self
,
raw
):
def
set
(
self
,
raw
):
raw
+=
'
\x03
'
raw
=
raw
.
encode
()
raw
+=
bytes
([
3
])
return
BaseStreamer
.
set
(
self
,
raw
)
return
BaseStreamer
.
set
(
self
,
raw
)
opensipkd/streamer/bjt.py
View file @
708fdd8
...
@@ -16,7 +16,7 @@ class Streamer(BaseStreamer):
...
@@ -16,7 +16,7 @@ class Streamer(BaseStreamer):
self
.
raw
=
raw
self
.
raw
=
raw
return
return
size
=
self
.
size
=
int
(
raw
[:
4
])
size
=
self
.
size
=
int
(
raw
[:
4
])
self
.
raw
=
''
self
.
raw
=
b
''
raw
=
raw
[
4
:]
raw
=
raw
[
4
:]
self
.
raw
+=
raw
[:
size
]
self
.
raw
+=
raw
[:
size
]
if
len
(
self
.
raw
)
==
self
.
size
:
if
len
(
self
.
raw
)
==
self
.
size
:
...
@@ -29,4 +29,4 @@ class Streamer(BaseStreamer):
...
@@ -29,4 +29,4 @@ class Streamer(BaseStreamer):
# Override Stremer.set
# Override Stremer.set
def
set
(
self
,
raw
):
def
set
(
self
,
raw
):
size
=
str
(
len
(
raw
))
.
zfill
(
4
)
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):
...
@@ -22,7 +22,7 @@ class Streamer(BaseStreamer):
self
.
raw
=
raw
self
.
raw
=
raw
return
return
size
=
self
.
size
=
self
.
get_size
(
raw
[:
2
])
size
=
self
.
size
=
self
.
get_size
(
raw
[:
2
])
self
.
raw
=
''
self
.
raw
=
b
''
raw
=
raw
[
2
:]
raw
=
raw
[
2
:]
self
.
raw
+=
raw
[:
size
]
self
.
raw
+=
raw
[:
size
]
if
len
(
self
.
raw
)
==
self
.
size
:
if
len
(
self
.
raw
)
==
self
.
size
:
...
@@ -34,9 +34,8 @@ class Streamer(BaseStreamer):
...
@@ -34,9 +34,8 @@ class Streamer(BaseStreamer):
# Override Stremer.set
# Override Stremer.set
def
set
(
self
,
raw
):
def
set
(
self
,
raw
):
raw
=
raw
.
upper
()
size
=
len
(
raw
)
size
=
len
(
raw
)
a
=
size
%
256
a
=
size
%
256
b
=
size
/
256
b
=
size
/
256
header
=
chr
(
b
)
+
chr
(
a
)
header
=
bytes
([
b
])
+
bytes
([
a
]
)
return
header
+
raw
return
header
+
raw
opensipkd/streamer/bsb.py
View file @
708fdd8
...
@@ -16,7 +16,7 @@ class Streamer(BaseStreamer):
...
@@ -16,7 +16,7 @@ class Streamer(BaseStreamer):
self
.
raw
=
raw
self
.
raw
=
raw
return
return
size
=
self
.
size
=
int
(
raw
[:
4
])
size
=
self
.
size
=
int
(
raw
[:
4
])
self
.
raw
=
''
self
.
raw
=
b
''
raw
=
raw
[
4
:]
raw
=
raw
[
4
:]
self
.
raw
+=
raw
[:
size
]
self
.
raw
+=
raw
[:
size
]
if
len
(
self
.
raw
)
==
self
.
size
:
if
len
(
self
.
raw
)
==
self
.
size
:
...
@@ -29,4 +29,4 @@ class Streamer(BaseStreamer):
...
@@ -29,4 +29,4 @@ class Streamer(BaseStreamer):
# Override Stremer.set
# Override Stremer.set
def
set
(
self
,
raw
):
def
set
(
self
,
raw
):
size
=
str
(
len
(
raw
))
.
zfill
(
4
)
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):
...
@@ -17,7 +17,7 @@ class Streamer(BaseStreamer):
self
.
raw
=
raw
self
.
raw
=
raw
return
return
size
=
self
.
size
=
int
(
raw
[:
4
])
size
=
self
.
size
=
int
(
raw
[:
4
])
self
.
raw
=
''
self
.
raw
=
b
''
raw
=
raw
[
4
:]
raw
=
raw
[
4
:]
self
.
raw
+=
raw
[:
size
]
self
.
raw
+=
raw
[:
size
]
if
len
(
self
.
raw
)
==
self
.
size
:
if
len
(
self
.
raw
)
==
self
.
size
:
...
@@ -30,4 +30,4 @@ class Streamer(BaseStreamer):
...
@@ -30,4 +30,4 @@ class Streamer(BaseStreamer):
# Override Stremer.set
# Override Stremer.set
def
set
(
self
,
raw
):
def
set
(
self
,
raw
):
size
=
str
(
len
(
raw
))
.
zfill
(
4
)
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):
...
@@ -17,7 +17,7 @@ class Streamer(BaseStreamer):
self
.
raw
=
raw
self
.
raw
=
raw
return
return
size
=
self
.
size
=
self
.
get_size
(
raw
)
size
=
self
.
size
=
self
.
get_size
(
raw
)
self
.
raw
=
''
self
.
raw
=
b
''
raw
=
raw
[
4
:]
raw
=
raw
[
4
:]
self
.
raw
+=
raw
[:
size
]
self
.
raw
+=
raw
[:
size
]
if
len
(
self
.
raw
)
==
self
.
size
:
if
len
(
self
.
raw
)
==
self
.
size
:
...
@@ -30,4 +30,4 @@ class Streamer(BaseStreamer):
...
@@ -30,4 +30,4 @@ class Streamer(BaseStreamer):
# Override Stremer.set
# Override Stremer.set
def
set
(
self
,
raw
):
def
set
(
self
,
raw
):
size
=
str
(
len
(
raw
))
.
zfill
(
4
)
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
...
@@ -6,8 +6,7 @@ from . import Streamer as BaseStreamer
class
Streamer
(
BaseStreamer
):
class
Streamer
(
BaseStreamer
):
def
get_size
(
self
,
raw
):
def
get_size
(
self
,
raw
):
a
,
b
=
raw
a
,
b
=
raw
a
=
ord
(
a
)
*
256
a
=
a
*
256
b
=
ord
(
b
)
return
a
+
b
return
a
+
b
# Override Stremer.get
# Override Stremer.get
...
@@ -15,12 +14,14 @@ class Streamer(BaseStreamer):
...
@@ -15,12 +14,14 @@ class Streamer(BaseStreamer):
if
self
.
size
:
if
self
.
size
:
size
=
self
.
size
-
len
(
self
.
raw
)
size
=
self
.
size
-
len
(
self
.
raw
)
else
:
else
:
if
isinstance
(
raw
,
str
):
raw
=
raw
.
encode
()
raw
=
self
.
raw
+
raw
raw
=
self
.
raw
+
raw
if
len
(
raw
)
<
2
:
if
len
(
raw
)
<
2
:
self
.
raw
=
raw
self
.
raw
=
raw
return
return
size
=
self
.
size
=
self
.
get_size
(
raw
[:
2
])
size
=
self
.
size
=
self
.
get_size
(
raw
[:
2
])
self
.
raw
=
''
self
.
raw
=
b
''
raw
=
raw
[
2
:]
raw
=
raw
[
2
:]
self
.
raw
+=
raw
[:
size
]
self
.
raw
+=
raw
[:
size
]
if
len
(
self
.
raw
)
==
self
.
size
:
if
len
(
self
.
raw
)
==
self
.
size
:
...
@@ -35,5 +36,5 @@ class Streamer(BaseStreamer):
...
@@ -35,5 +36,5 @@ class Streamer(BaseStreamer):
size
=
len
(
raw
)
size
=
len
(
raw
)
a
=
int
(
size
/
256
)
a
=
int
(
size
/
256
)
b
=
size
%
256
b
=
size
%
256
header
=
chr
(
a
)
+
chr
(
b
)
header
=
bytes
([
a
])
+
bytes
([
b
]
)
return
header
+
raw
return
header
+
raw
.
encode
()
opensipkd/streamer/pos.py
View file @
708fdd8
...
@@ -22,7 +22,7 @@ class Streamer(BaseStreamer):
...
@@ -22,7 +22,7 @@ class Streamer(BaseStreamer):
self
.
raw
=
raw
self
.
raw
=
raw
return
return
size
=
self
.
size
=
self
.
get_size
(
raw
[:
2
])
size
=
self
.
size
=
self
.
get_size
(
raw
[:
2
])
self
.
raw
=
''
self
.
raw
=
b
''
raw
=
raw
[
2
:]
raw
=
raw
[
2
:]
self
.
raw
+=
raw
[:
size
]
self
.
raw
+=
raw
[:
size
]
if
len
(
self
.
raw
)
==
self
.
size
:
if
len
(
self
.
raw
)
==
self
.
size
:
...
@@ -37,5 +37,5 @@ class Streamer(BaseStreamer):
...
@@ -37,5 +37,5 @@ class Streamer(BaseStreamer):
size
=
len
(
raw
)
size
=
len
(
raw
)
a
=
size
%
256
a
=
size
%
256
b
=
size
/
256
b
=
size
/
256
header
=
chr
(
a
)
+
chr
(
b
)
header
=
bytes
([
a
])
+
bytes
([
b
]
)
return
header
+
raw
return
header
+
raw
opensipkd/tcp/connection.py
View file @
708fdd8
...
@@ -70,15 +70,13 @@ class Connection:
...
@@ -70,15 +70,13 @@ class Connection:
raw
=
self
.
process
(
raw
)
raw
=
self
.
process
(
raw
)
if
raw
:
if
raw
:
self
.
send
(
raw
)
self
.
send
(
raw
)
raw
=
''
raw
=
b
''
def
receive_raw
(
self
):
def
receive_raw
(
self
):
try
:
try
:
ready
,
_
,
_
=
select
.
select
([
self
.
request
],
[],
[],
5
)
ready
,
_
,
_
=
select
.
select
([
self
.
request
],
[],
[],
5
)
raw
=
ready
and
self
.
request
.
recv
(
raw
=
ready
and
self
.
request
.
recv
(
self
.
get_receive_size
(),
socket
.
MSG_DONTWAIT
)
or
''
self
.
get_receive_size
(),
socket
.
MSG_DONTWAIT
)
or
''
if
isinstance
(
raw
,
bytes
):
raw
=
raw
.
decode
(
'utf-8'
)
if
raw
:
if
raw
:
self
.
on_receive_raw
(
raw
)
self
.
on_receive_raw
(
raw
)
return
raw
return
raw
...
@@ -113,8 +111,6 @@ class Connection:
...
@@ -113,8 +111,6 @@ class Connection:
self
.
just_send
(
raw
)
self
.
just_send
(
raw
)
def
just_send
(
self
,
raw
):
def
just_send
(
self
,
raw
):
if
sys
.
version_info
.
major
>
2
:
raw
=
raw
.
encode
(
'utf-8'
)
try
:
try
:
self
.
request
.
sendall
(
raw
)
self
.
request
.
sendall
(
raw
)
except
socket
.
error
as
err
:
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